diff options
Diffstat (limited to 'src/main/java/pokemon/Server.java')
-rw-r--r-- | src/main/java/pokemon/Server.java | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/src/main/java/pokemon/Server.java b/src/main/java/pokemon/Server.java index 6a555f2..9d56a27 100644 --- a/src/main/java/pokemon/Server.java +++ b/src/main/java/pokemon/Server.java @@ -234,9 +234,10 @@ public class Server implements Runnable { long opponentId=Long.parseLong(msg[1]); Game game=null; for(Game tempGame :games) { - if(tempGame.player1Id==opponentId) + if(tempGame.player1Id==opponentId) { game=tempGame; - break; + break; + } } SocketChannel opponentSocket=null; for(Entry<SocketChannel, Long> player : players.entrySet()) { @@ -258,6 +259,36 @@ public class Server implements Runnable { } + else if(msg[0].equals("CHATMESSAGE")) { + long myId=players.get(sc); + long opponentId=Long.parseLong(msg[1]); + User myUser=s.getUserById(myId); + User opponentUser=s.getUserById(opponentId); + + String message=msg[2]; + Game game=null; + for(Game tempGame :games) { + if(tempGame.player1Id==opponentId || tempGame.player2Id==opponentId) { + game=tempGame; + break; + } + } + SocketChannel opponentSocket=null; + for(Entry<SocketChannel, Long> player : players.entrySet()) { + if(player.getValue()==opponentId) { + opponentSocket=player.getKey(); + break; + } + } + String myMsg="MESSAGE:"+myUser.username+":"+message; + ByteBuffer buff = ByteBuffer.wrap(myMsg.getBytes()); + opponentSocket.write(buff); + ByteBuffer buff1 = ByteBuffer.wrap(myMsg.getBytes()); + sc.write(buff1); + + + + } } |