我正在使用DatagramSocket
Java 中的类从用 C 编写的客户端接收 udp 数据包。这是接收的代码(服务器套接字已经设置):
byte[] inputByte = new byte[1];
DatagramPacket recvdPacket = new DatagramPacket(inputByte, inputByte.length);
try {
serverSocket.receive(recvdPacket);
然后它打印内容。我的调试消息(未在此代码中显示)表明它已成功到达receive()
部件并正在等待(这是一个阻塞调用)。这是问题所在:
此服务器仅在第二次运行发送消息的客户端时接收数据包,而不是第一次。即使客户端在第一次运行时发送了多个数据包,服务器也不会显示任何内容,直到第二次运行整个客户端。假设问题出在服务器端而不是客户端是否安全?(客户端代码不是我写的......这很恶心,而且是用C语言编写的)。