[英]Sending Data Through Java Sockets using PrintWriter not Working
我目前正在學習在Java中使用套接字,但是如果相關,則無法在套接字之間(在本例中為android和計算機之間)發送數據。 我正在使用的方法是從這里開始的 。
請原諒糟糕的代碼格式。
客戶端:
PrintWriter out = null;
try {
Socket socket = new Socket("IP_OF_SERVER", 8000);
out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while ((fromServer = in.readLine()) != null) {
response = fromServer;
System.out.println("Client: " + fromUser);
out.println(fromUser);
}
socket.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
out.close();
}
...
textResponse.setText(response);
服務器端:
Socket hostThreadSocket = serverSocket.accept();
...
PrintWriter out = null;
String response,inputLine,outputLine;
try {
out = new PrintWriter(hostThreadSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(hostThreadSocket.getInputStream()));
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
outputLine = "Hello";
out.println(outputLine);
}
} catch (IOException ex) {
Logger.getLogger(host.class.getName()).log(Level.SEVERE, null, ex);
System.out.println("IOException");
}finally{
try {
System.out.println("closing socket");
out.close();
hostThreadSocket.close();
} catch (IOException ex) {
System.out.println("Other IOException");
Logger.getLogger(host.class.getName()).log(Level.SEVERE, null, ex);
}
}
工作原理:
在任何一個Java文件中都沒有發現錯誤(據我所知)
建立連接
什么不是:
我嘗試包含盡可能少的代碼,如果需要更多代碼,我將編輯問題。 修復或調試此問題的任何幫助將不勝感激。
您的客戶端和服務器都在等待對方開始通信。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.