为什么安卓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个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐