-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpwd_server.java
More file actions
134 lines (78 loc) · 3.12 KB
/
Copy pathpwd_server.java
File metadata and controls
134 lines (78 loc) · 3.12 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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.sql.*;
import java.util.Arrays;
public class pwd_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(9994);
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();//핸드폰
new Thread(new Capitalizer(ds,dp, bf,ID,Email,Phone)).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;
Capitalizer(DatagramSocket ds,DatagramPacket dp,byte[] bf,String ID,String Email,String Phone){
this.ds=ds;
this.dp=dp;
this.bf=bf;
this.ID=ID;
this.Email=Email;
this.Phone=Phone;
}
@Override
public void run(){
try{
Integer pt = dp.getPort();
InetAddress ia = dp.getAddress();
Connection con = null;
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/network", "root", "Namja241377@");
String sql = "SELECT id FROM user WHERE id=? and email=? and phone=?";//조건에 맞는 아이디 찾기
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setString(1, ID);
pstmt.setString(2,Email);
pstmt.setString(3,Phone);
ResultSet rs = pstmt.executeQuery();
Arrays.fill(bf,(byte)0);
if(rs.next()){
bf="1".getBytes();
dp=new DatagramPacket(bf, bf.length,ia,pt);
ds.send(dp);//아이디가 존재한다고 보내기
}
else{
bf="0".getBytes();
dp=new DatagramPacket(bf, bf.length,ia,pt);
ds.send(dp);//아이디가 존재하지 않는다고 보내기
}
pstmt.close();
con.close();
}
catch(Exception e){
}
}
}
}