@@ -145,7 +145,7 @@ public void run()
145
145
break ;
146
146
case 3 :
147
147
//for logout
148
- logout (clientThread ,request );
148
+ logout (clientThread ,request , 1 );
149
149
break ;
150
150
case 4 :
151
151
//create room
@@ -249,14 +249,15 @@ public void run()
249
249
}
250
250
}
251
251
252
- public static void logout (ClientThread clientThread , Request request ) {
252
+ public static void logout (ClientThread clientThread , Request request , int temp ) {
253
253
Response response = new Response ( Response .Type .LOGOUT .ordinal () , true , "Logout Succesfully" );
254
254
Server .responseMakerQueue .add (new ResponseHolder (response , clientThread .objectOutputStream ));
255
255
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
+ }
260
261
261
262
if ( Server .responseMaker .getState () == State .WAITING )
262
263
{
@@ -414,7 +415,7 @@ public void run()
414
415
{
415
416
if ( request .getContents ().equals ("sv_logout" ) )
416
417
{
417
- RequestAnalyser .logout (ct ,request );
418
+ RequestAnalyser .logout (ct ,request , 0 );
418
419
}
419
420
}
420
421
}
@@ -439,6 +440,10 @@ public void run()
439
440
Set <Integer > set1 = Server .roomsHolder .get (request .getRoomId ());
440
441
set1 .remove (request .getClientId ());
441
442
}
443
+ else if (request .getContents ().equals ("sv_logout" )) {
444
+ Server .roomsHolder .get (request .getRoomId ()).remove (request .getClientId ());
445
+ Server .clientHolder .remove (request .getClientId ());
446
+ }
442
447
}
443
448
catch (Exception e ) {
444
449
e .printStackTrace (new PrintWriter (Server .errors ));
0 commit comments