我在Android中构建了一个客户端 - 服务器应用程序(使用java-6编译)来发送和接收udp数据包。
我的客户端代码如下:
DatagramSocket socket =new DatagramSocket();
socket.setBroadcast(true);
DatagramPacket packet = new DatagramPacket(dgram, dgramLength, host, port);
socket.send( packet );
socket.close();
我的服务器代码如下:
DatagramSocket socket =new DatagramSocket(this.port);
byte[] data=new byte[512];
DatagramPacket packet = new DatagramPacket(data, data.length) ;
// Wait for a response from the server
try
{
socket.receive(packet) ;
}
catch (Exception e)
{}
我面临的问题是,当我在有线网络上工作时,所有发送的数据包都由主设备正确接收但是当我通过wifi运行相同的代码时,有时发送的数据包正在接收,有时不会。我想知道它是否是wifi网络的一般行为。
任何形式的帮助都表示赞赏。