【发布时间】:2014-02-03 04:35:15
【问题描述】:
我看了很多页面,尝试了很多建议,但仍然无法通过设备上的 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(packet) 上停止。消费者在 AsyncTask 中工作。
谢谢!
【问题讨论】:
标签: android sockets udp datagram