欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

java udp 接收不定长_JAVA UDP通信为什么只能接收一次数据,我想要时刻接收数据,并更新UI,大神们帮我看看程序吧?...

发布时间:2023/12/19 编程问答 43 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java udp 接收不定长_JAVA UDP通信为什么只能接收一次数据,我想要时刻接收数据,并更新UI,大神们帮我看看程序吧?... 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

// 与UDP数据接收线程通信更新UI线程中EditText控件中的内容

receiveHandler = new Handler() {

public void handleMessage(Message msg) {

point2.setText(receiveInfo);

}

};

}

// UDP数据接收线程

public class udpReceiveThread extends Thread {

@Override

public void run() {

try {

socket = new DatagramSocket(8081);

listenStatus = true;

while (listenStatus)

{

// byte[] inBuf= new byte[1024];

byte[] inBuf = new byte[1024];

DatagramPacket inPacket = new DatagramPacket(inBuf,

inBuf.length);

socket.receive(inPacket);

String str = new String(inPacket.getData());

receiveInfo = Change1(str, inPacket.getLength()).trim();

// receiveInfo = new String (inPacket.getData());

// receiveInfo= stringtopoint(inBuf,inPacket.getLength());

socket.close();

Message msg = new Message();

receiveHandler.sendMessage(msg);

try {Thread.sleep(100);

} catch (Exception e) {

// TODO: handle exception

}

}

} catch (Exception e) {

e.printStackTrace();

// TODO Auto-generated catch block

}

}

}

// 发送按钮单击事件

public void SendButtonClick(View source) {

new udpSendThread().start();

}

// 监听按钮点击事件

public void ListenButtonClick(View source) {

if (listenStatus == false) {

stop.setText("停止监听");

new udpReceiveThread().start();

} else {

stop.setText("开始监听");

socket.close();

listenStatus = false;

new udpReceiveThread().interrupt();

}

}

总结

以上是生活随笔为你收集整理的java udp 接收不定长_JAVA UDP通信为什么只能接收一次数据,我想要时刻接收数据,并更新UI,大神们帮我看看程序吧?...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。