我看到很多页面,并尝试了许多建议,但仍然无法通过设备上的UDP接收数据(nexus 4)。我在局域网上工作,通过wifi(3G已关闭)。
我有一个客户端,在PC上(192.168.1.5)和Android设备上的消费者(192.168.1.3:54445)
这是客户端代码:
String string = "hello udp";
DatagramSocket socket = null;
try {
address = InetAddress.getByName("192.168.1.3");
socket = new DatagramSocket();
DatagramPacket packet = new DatagramPacket(buf, buf.length, address, 54445);
socket.send(packet);
以下是消费者代码:
DatagramSocket socket = null;
stop = false;
InetAddress address = null;
try {
socket = new DatagramSocket(54445);
while (!stop) {
byte[] buffer = new byte[minBufSize];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
socket.receive(packet);
Log.d(this.getClass().getSimpleName(), String.valueOf(packet.getLength()));
调试器在socket.receive(数据包)上停止。消费者在AsyncTask中工作。
谢谢!
答案 0 :(得分:0)
这是我的错,首先检查你的路由器设置。