Android UDP 开发中,在接收数据的时候,有的手机无法阻塞???
原因:
不要在主线程中写相关UDP代码,将代码写到新建线程run函数中。
问题解决代码示例:
new Thread(){
public void run()
{
// UDP服务器监听的端口
Integer port = 8888;
// 接收的字节大小,客户端发送的数据不能超过这个大小
byte[] buf = new byte[1024];
// 建立Socket连接
DatagramSocket datagramSocket = null;
if(datagramSocket == null)
{
try
{
datagramSocket = new DatagramSocket(null);
datagramSocket.setReuseAddress(true);
datagramSocket.bind(new InetSocketAddress(port));
}
catch (SocketException e)
{
e.printStackTrace();
}
}
try
{
DatagramPacket datagramPacket = new DatagramPacket(buf, buf.length);
try
{
while (isOnResume)
{
// 准备接收数据
datagramSocket.receive(datagramPacket);
String result = new String(datag