dxt_1515 2016-06-25 03:50 采纳率: 25%
浏览 2141

为什么安卓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();
Message msg = new Message();
receiveHandler.sendMessage(msg);

}
} catch (Exception e) {
e.printStackTrace();
// TODO Auto-generated catch block
}
}
}
public void ListenButtonClick(View source) {
if (listenStatus == false) {
stop.setText("停止监听");
new udpReceiveThread().start();
} else {
stop.setText("开始监听");
socket.close();
listenStatus = false;

new udpReceiveThread().interrupt();
}
}
如果我要一直接收数据应该怎么改我的程序,还是说不能用线程,要改用广播的形式。

  • 写回答

1条回答

  • devmiao 2016-06-26 08:14
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥15 用visual studi code完成html页面