DatagramSocket的Android上失败, '再试一次'
问题描述:
我想在我的Android应用程序中发送DatagramPackets
(UDP):DatagramSocket的Android上失败, '再试一次'
//create a byte to receive data
mClientSocket = new DatagramSocket();
byte[] receiveData = new byte[MAX_RECEIVE_DATA_SIZE_BYTES];
DatagramPacket receivePacket = new DatagramPacket(receiveData,
receiveData.length);
// Set a receive timeout
mClientSocket.setSoTimeout(timeout);
// receive the packet
mClientSocket.receive(receivePacket);
return new String(receivePacket.getData(), 0,
receivePacket.getLength());
我收到以下错误:
Try again
我缺少的东西这里?
答
好发送UDP你需要类似于:
服务器:
String messageStr="Hello Android!";
int server_port = 12345;
DatagramSocket s = new DatagramSocket();
InetAddress local = InetAddress .getByName("192.168.1.102");
int msg_length=messageStr.length();
byte[] message = messageStr.getBytes();
DatagramPacket p = new DatagramPacket (message, msg_length,local,server_port);
s.send(p);
客户:
String text;
int server_port = 12345;
byte[] message = new byte[1500];
DatagramPacket p = new DatagramPacket (message, message.length);
DatagramSocket s = new DatagramSocket (server_port);
s.receive(p);
text = new String (message, 0, p.getLength());
Log.d("Udp tutorial","message:" + text);
s.close();
参考文献:
大卫你好。在客户端,我在网络中有一些控制器。我通过其他程序(串行和网络工具)测试信号。但没有从我的应用程序发送UDP。 catch(Exception e) android.util.Log.w(“UDP”,“Catched here 4”); e.printStackTrace(); }此代码适用于 – 2015-11-05 13:41:47
请帮忙。哪些问题可能是。我是Android的初学者 – 2015-11-05 13:43:43