|
|
|
@ -66,14 +66,17 @@ public class NetworkInterface {
|
|
|
|
if(game != null) {
|
|
|
|
if(game != null) {
|
|
|
|
games.add(game);
|
|
|
|
games.add(game);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
HostedGamesRequestEncoder encoder = new HostedGamesRequestEncoder();
|
|
|
|
}
|
|
|
|
try {
|
|
|
|
|
|
|
|
byte[] message = encoder.encode(new HostGamesRequest(games));
|
|
|
|
HostedGamesRequestEncoder encoder = new HostedGamesRequestEncoder();
|
|
|
|
System.out.println(LocalDateTime.now() + ": Sending " + games.size() + " game/s");
|
|
|
|
try {
|
|
|
|
serverSocket.send(new DatagramPacket(message, message.length, groupAddress, groupPort));
|
|
|
|
byte[] message = encoder.encode(new HostGamesRequest(games));
|
|
|
|
} catch (InvalidMessageException | IOException e) {
|
|
|
|
System.out.println(LocalDateTime.now() + ": Sending " + games.size() + " game/s");
|
|
|
|
e.printStackTrace();
|
|
|
|
for(ClientAddress address: clientsAddresses) {
|
|
|
|
|
|
|
|
serverSocket.send(new DatagramPacket(message, message.length, InetAddress.getByName(address.getIp()), groupPort));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
} catch (InvalidMessageException | IOException e) {
|
|
|
|
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}, period, period);
|
|
|
|
}, period, period);
|
|
|
|
@ -97,8 +100,8 @@ public class NetworkInterface {
|
|
|
|
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
|
|
|
|
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
|
|
|
|
serverSocket.receive(receivePacket);
|
|
|
|
serverSocket.receive(receivePacket);
|
|
|
|
|
|
|
|
|
|
|
|
System.out.println(receivePacket.getAddress());
|
|
|
|
// System.out.println(receivePacket.getAddress());
|
|
|
|
System.out.println(this.clientsAddresses);
|
|
|
|
// System.out.println(this.clientsAddresses);
|
|
|
|
|
|
|
|
|
|
|
|
BinaryMessageDecoder messageDecoder = new BinaryMessageDecoder(receivePacket.getData());
|
|
|
|
BinaryMessageDecoder messageDecoder = new BinaryMessageDecoder(receivePacket.getData());
|
|
|
|
switch (MessageType.fromByte(messageDecoder.getHeaderMessageType())){
|
|
|
|
switch (MessageType.fromByte(messageDecoder.getHeaderMessageType())){
|
|
|
|
|