Skip to content

Commit e5d926a

Browse files
Fix logout left message on server
1 parent d88cd55 commit e5d926a

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

src/com/chatroom/server/Server.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ public void run()
145145
break;
146146
case 3:
147147
//for logout
148-
logout(clientThread,request);
148+
logout(clientThread,request,1);
149149
break;
150150
case 4:
151151
//create room
@@ -249,14 +249,15 @@ public void run()
249249
}
250250
}
251251

252-
public static void logout(ClientThread clientThread, Request request) {
252+
public static void logout(ClientThread clientThread, Request request,int temp) {
253253
Response response = new Response( Response.Type.LOGOUT.ordinal() , true, "Logout Succesfully");
254254
Server.responseMakerQueue.add(new ResponseHolder(response, clientThread.objectOutputStream));
255255

256-
if(request.getRoomId() != -1)
257-
Server.roomsHolder.get(request.getRoomId()).remove(request.getClientId());
258-
259-
Server.clientHolder.remove(request.getClientId());
256+
if(temp == 1) {
257+
if(request.getRoomId() != -1)
258+
Server.roomsHolder.get(request.getRoomId()).remove(request.getClientId());
259+
Server.clientHolder.remove(request.getClientId());
260+
}
260261

261262
if( Server.responseMaker.getState() == State.WAITING )
262263
{
@@ -414,7 +415,7 @@ public void run()
414415
{
415416
if( request.getContents().equals("sv_logout") )
416417
{
417-
RequestAnalyser.logout(ct,request);
418+
RequestAnalyser.logout(ct,request,0);
418419
}
419420
}
420421
}
@@ -439,6 +440,10 @@ public void run()
439440
Set<Integer> set1 = Server.roomsHolder.get(request.getRoomId());
440441
set1.remove(request.getClientId());
441442
}
443+
else if(request.getContents().equals("sv_logout")) {
444+
Server.roomsHolder.get(request.getRoomId()).remove(request.getClientId());
445+
Server.clientHolder.remove(request.getClientId());
446+
}
442447
}
443448
catch (Exception e) {
444449
e.printStackTrace(new PrintWriter(Server.errors));

0 commit comments

Comments
 (0)