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();
}
}
如果我要一直接收数据应该怎么改我的程序,还是说不能用线程,要改用广播的形式。
为什么安卓UDP只能接收一次数据,不能循环接收数据呢?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答
悬赏问题
- ¥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页面