为什么安卓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();
}
}
如果我要一直接收数据应该怎么改我的程序,还是说不能用线程,要改用广播的形式。

http://tieba.baidu.com/p/4623641612