Эй, ребята, у меня проблемы с получением пакетов UDP в java. Я в настоящее время проверил это на locolhost и серверах моего универа. Никаких исключений не выбрасывается, просто мой клиент не получает ни одного пакета. Вот какой-то код:
в строке 136 на моем сервере звонит
ps.PacketUtilSendFileLength();
// Packet Service class snippet
public void PacketUtilSendFileLength() throws IOException {
DatagramPacket packet = null;
ByteBuffer buffer = ByteBuffer.allocate(8);
buffer.putLong(file_length);
buffer.flip();
if (V6_Mode) {
packet = new DatagramPacket(hash(buffer.array()), buffer.array().length, Hostv6, PORT);
} else packet = new DatagramPacket(hash(buffer.array()), buffer.array().length, Hostv4, PORT);
datagramSocket.send(packet);
}
Мой клиент, который звонит
ByteBuffer buffer = ByteBuffer.allocate(8);// these 2 lines are made at the start of the main
DatagramPacket FileLength_ACK = new DatagramPacket(buffer.array(),buffer.array().length);
...
ps.PacketUtilRecieve(FileLength_ACK);```
``` public DatagramPacket PacketUtilRecieve(DatagramPacket p){
try {
datagramSocket.receive(p);
return p;
} catch (IOException e) {
PacketUtilSendError();
e.printStackTrace();
}
return null;
}
мой сервер отправляет пакет, но мой клиент никогда не получает его, что я здесь делаю не так?
полный код: https://github.com/WeStandUnited/SlidingWindow/tree/master/src