0
所以我想讓服務器坐下來等待來自客戶端的連接。客戶端發送一些字符串,服務器根據接收到的內容做出一些操作。現在我想要發生的是客戶端通過一些命令發送請求返回數據的命令,並讓服務器獲得所需內容並將字符串發回。根據命令向客戶端發送字符串JAVA
沒什麼大不了的?出於某種原因,我不能得到它的工作,我最好的猜測是它沒有正確關閉套接字。我無法弄清楚爲什麼它不會或我做錯了什麼。
客戶
String data = "";
DataOutputStream outToServer = null;
BufferedReader input;
try {
outToServer = new DataOutputStream(clientSocket.getOutputStream());
outToServer.writeBytes("GETDATA");
outToServer.flush();
input = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
data = input.readLine();
Log.d("ANSWER: ", data);
input.close();
} catch (IOException e) {
Log.d("Error: ", e.toString());
}
服務器
ServerSocket listeningSocket = new ServerSocket(9008);
BufferedReader fromClient ;
PrintStream os;
while(true) {
Socket clientSocket = listeningSocket.accept();
ServerConnection clientConnection = new ServerConnection(clientSocket);
os = new PrintStream(clientSocket.getOutputStream());
fromClient= new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
if(fromClient.readLine().equals("GETDATA")){
os.println("DATA");
os.flush();
clientSocket.wait();
clientSocket.close();
}
else{
clientConnection.run();
}
}
任何想法?
是什麼問題,什麼時候happend你運行代碼 – aymankoo 2013-04-25 04:08:43
什麼是ServerConnection – aymankoo 2013-04-25 04:13:15
什麼都沒有發生,它不記錄任何事情,成功或異常。 – Dandrews 2013-04-25 04:27:10