-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpwdChange_server.java
More file actions
120 lines (69 loc) · 2.73 KB
/
Copy pathpwdChange_server.java
File metadata and controls
120 lines (69 loc) · 2.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.sql.*;
import java.util.Arrays;
public class pwdChange_server extends Thread{
public static void main(String[] args) throws Exception{
byte[] bf = new byte[1500];
DatagramPacket dp = new DatagramPacket(bf, bf.length);
DatagramSocket ds=new DatagramSocket(9995);
while (true) {
//패킷받기
bf = new byte[1500];
dp = new DatagramPacket(bf, bf.length);
ds.receive(dp);
Integer pt = dp.getPort();
InetAddress ia = dp.getAddress();
String ID=new String(bf).trim();//아이디
bf= new byte[1500];
Arrays.fill(bf,(byte)0);
dp= new DatagramPacket(bf, bf.length,ia,pt);
ds.receive(dp);
String Email=new String(bf).trim();//이메일
bf= new byte[1500];
Arrays.fill(bf,(byte)0);
dp= new DatagramPacket(bf, bf.length,ia,pt);
ds.receive(dp);
String Phone=new String(bf).trim();//핸드폰
bf= new byte[1500];
Arrays.fill(bf,(byte)0);
dp= new DatagramPacket(bf, bf.length,ia,pt);
ds.receive(dp);
String PWD=new String(bf).trim();//새로운 비밀번호
new Thread(new Capitalizer(ds,dp, bf,ID,Email,Phone,PWD)).start();//Thread 생성
Thread.sleep(100);
}
}
private static class Capitalizer implements Runnable{
private DatagramSocket ds;
private byte[] bf = new byte[1500];
private DatagramPacket dp = new DatagramPacket(bf, bf.length);
private String ID,Email,Phone,PWD;
Capitalizer(DatagramSocket ds,DatagramPacket dp,byte[] bf,String ID,String Email,String Phone,String PWD){
this.ds=ds;
this.dp=dp;
this.bf=bf;
this.ID=ID;
this.Email=Email;
this.Phone=Phone;
this.PWD=PWD;
}
@Override
public void run(){
try{
//sql연동
Connection con = null;
con = DriverManager.getConnection("jdbc:mysql://localhost/network", "root", "Namja241377@");
//조건에 맞는 비밀번호를 찾아 업데이트
String sql = String.format("update user set password='%s' where id = '%s' and email='%s' and phone='%s'",PWD,ID,Email,Phone);
PreparedStatement pstmt=con.prepareStatement(sql);
int r=pstmt.executeUpdate();
pstmt.close();
con.close();
}
catch(Exception e){
}
}
}
}