diff options
Diffstat (limited to 'src/main/java/pokemon')
-rw-r--r-- | src/main/java/pokemon/Server.java | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/main/java/pokemon/Server.java b/src/main/java/pokemon/Server.java index 12d3d15..1b958d1 100644 --- a/src/main/java/pokemon/Server.java +++ b/src/main/java/pokemon/Server.java @@ -146,24 +146,12 @@ public class Server implements Runnable { } } catch (Exception e) { - Long closedId=players.get(sc); - leftGame(sc); - players.remove(sc); - System.out.println("Client dissconnected: "+closedId ); - System.out.println("Remaining clients: "+players.size() ); - sc.close(); - sendAvailablePlayers(); + closeConnection(sc); return; } if(read==-1) { - Long closedId=players.get(sc); - leftGame(sc); - players.remove(sc); - System.out.println("Client dissconnected: "+closedId ); - System.out.println("Remaining clients: "+players.size() ); - sc.close(); - sendAvailablePlayers(); + closeConnection(sc); return; } System.out.println(sb.toString()); @@ -409,5 +397,20 @@ public class Server implements Runnable { } } + public void closeConnection(SocketChannel sc) { + Long closedId=players.get(sc); + try { + leftGame(sc); + players.remove(sc); + System.out.println("Client dissconnected: "+closedId ); + System.out.println("Remaining clients: "+players.size() ); + sc.close(); + sendAvailablePlayers(); + } catch (Exception e) { + } + + return; + + } } |