|
@@ -62,43 +62,36 @@ public class ConnectionListenerThread extends Thread {
|
62
|
62
|
requestSocket.receive(request);
|
63
|
63
|
username = new String(request.getData(), 0, request.getLength());
|
64
|
64
|
|
65
|
|
- if(username.charAt(0) == '+')
|
|
65
|
+
|
|
66
|
+ InetAddress clientAddress= request.getAddress();
|
|
67
|
+ System.out.println("Received a request from " + username + "@" + clientAddress.getHostAddress());
|
|
68
|
+
|
|
69
|
+ response = "";
|
|
70
|
+ for(User u:known_users)
|
66
|
71
|
{
|
67
|
|
- username = username.substring(1);
|
68
|
|
- outdoor = true;
|
|
72
|
+ response += u.getName() + " ";
|
69
|
73
|
}
|
70
|
|
- else
|
|
74
|
+ response = response.trim();
|
|
75
|
+ response += ";";
|
|
76
|
+ for(User u:known_outdoor_users)
|
71
|
77
|
{
|
72
|
|
- outdoor = false;
|
73
|
|
- InetAddress clientAddress= request.getAddress();
|
74
|
|
- System.out.println("Received a request from " + username + "@" + clientAddress.getHostAddress());
|
75
|
|
-
|
76
|
|
- response = "";
|
77
|
|
- for(User u:known_users)
|
78
|
|
- {
|
79
|
|
- response += u.getName() + " ";
|
80
|
|
- }
|
81
|
|
- response = response.trim();
|
82
|
|
- response += ";";
|
83
|
|
- for(User u:known_outdoor_users)
|
84
|
|
- {
|
85
|
|
- response += u.getName() + " ";
|
86
|
|
- }
|
87
|
|
- response = response.trim();
|
88
|
|
- response += ";";
|
89
|
|
- for(Socket s:dest_sockets)
|
90
|
|
- {
|
91
|
|
- response += s.getInetAddress().getHostAddress() + " ";
|
92
|
|
- }
|
93
|
|
- response = response.trim();
|
|
78
|
+ response += u.getName() + " ";
|
|
79
|
+ }
|
|
80
|
+ response = response.trim();
|
|
81
|
+ response += ";";
|
|
82
|
+ for(Socket s:dest_sockets)
|
|
83
|
+ {
|
|
84
|
+ response += s.getInetAddress().getHostAddress() + " ";
|
|
85
|
+ }
|
|
86
|
+ response = response.trim();
|
94
|
87
|
|
95
|
|
- response += ";" + (portNumber+1);
|
|
88
|
+ response += ";" + (portNumber+1);
|
96
|
89
|
|
97
|
|
- System.out.println("Response :" + response);
|
98
|
|
- responseBytes = response.getBytes();
|
99
|
|
- responsePacket = new DatagramPacket(responseBytes, responseBytes.length, clientAddress, 1337);
|
100
|
|
- responseSocket.send(responsePacket);
|
101
|
|
- }
|
|
90
|
+ System.out.println("Response :" + response);
|
|
91
|
+ responseBytes = response.getBytes();
|
|
92
|
+ responsePacket = new DatagramPacket(responseBytes, responseBytes.length, clientAddress, 1337);
|
|
93
|
+ responseSocket.send(responsePacket);
|
|
94
|
+
|
102
|
95
|
accepted = true;
|
103
|
96
|
for(User a:known_users)
|
104
|
97
|
{
|
|
@@ -110,18 +103,10 @@ public class ConnectionListenerThread extends Thread {
|
110
|
103
|
}
|
111
|
104
|
if(accepted)
|
112
|
105
|
{
|
113
|
|
- if(outdoor)
|
114
|
|
- {
|
115
|
|
- known_outdoor_users.add(new User(username));
|
116
|
|
- Collections.sort(known_outdoor_users);
|
117
|
|
- }
|
118
|
|
- else
|
119
|
|
- {
|
120
|
|
- portNumber++;
|
121
|
|
- Socket s = (new ServerSocket(portNumber)).accept();
|
122
|
|
- (new ReceiveThread(user, s, displayArea, known_users, known_outdoor_users, knownUsersPanel, dest_sockets, outdoor_dest_sockets, false)).start();
|
123
|
|
- dest_sockets.add(s);
|
124
|
|
- }
|
|
106
|
+ portNumber++;
|
|
107
|
+ Socket s = (new ServerSocket(portNumber)).accept();
|
|
108
|
+ (new ReceiveThread(user, s, displayArea, known_users, known_outdoor_users, knownUsersPanel, dest_sockets, outdoor_dest_sockets, false)).start();
|
|
109
|
+ dest_sockets.add(s);
|
125
|
110
|
}
|
126
|
111
|
}
|
127
|
112
|
catch(SocketTimeoutException e) {}
|