[英]Android TCP Client Incorrect
“我有一個運行的簡單客戶端,它連接到我的服務器;但是,連接后,我無法接收到任何數據。我猜測需要將一些內容放入while循環中,以便線程不會結束,但是我不知道該放置什么有人可以幫幫我還是給我一個提示?
Thread background=new Thread(new Runnable() {
public void run() {
try {
socket = new Socket("255.255.255.255", 9999);
dataOutputStream = new DataOutputStream(socket.getOutputStream());
dataInputStream = new DataInputStream(socket.getInputStream());
dataOutputStream.writeUTF("Send this text to the server");
Log.i("Appname", dataInputStream.readUTF());
} catch (someexceptionhere) {
}
}
});
如果未將流設置為自動刷新,請確保刷新它們。
Thread background=new Thread(new Runnable() {
public void run() {
try {
socket = new Socket("255.255.255.255", 9999);
dataOutputStream = new DataOutputStream(socket.getOutputStream());
dataInputStream = new DataInputStream(socket.getInputStream());
dataOutputStream.writeUTF("Send this text to the server");
dataOutputStream.flush();
Log.i("Appname", dataInputStream.readUTF());
} catch (Exception _) {}
}
我報廢了接收方式,正在使用:
socket.getInputStream().read(incomingdata);
似乎現在可以工作了
當線程的run()
方法返回或清除所有指向它的指針時,該線程將被殺死。 您應該使用while循環來保持代碼運行,但是請確保在循環中使用Thread.sleep()
來防止線程使設備過載。 10ms或更長的時間應該可以工作,但不要將其設置為您所需的時間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.