我正在开发一个通过TCP套接字连接到java服务器的应用程序。出于某种原因,客户端/应用程序一直停留在//这里。
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.UnknownHostException;
import android.util.Log;
class ClientConnectToServer
{Socket clientSocket;
public ClientConnectToServer()
{ try {
clientSocket = new Socket("10.0.2.2", 9000);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public String sendMessage(String message)
{
try{ clientSocket = new Socket("10.0.2.2", 9000);
String modifiedSentence;
DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
outToServer.writeBytes(message + '\n');
modifiedSentence = inFromServer.readLine();
outToServer.close();
inFromServer.close();
//HERE
clientSocket.close();
Log.v(modifiedSentence, modifiedSentence);
return modifiedSentence;}
catch(Exception e)
{
return "";}
}
}
感谢您的帮助。
答案 0 :(得分:1)
不可能。此时套接字由于两个先前的关闭而已经关闭,因此该行代码没有任何作用。由于某种原因,您更有可能在记录行被阻止。
关闭套接字时,应该关闭围绕其输出流的输出流或编写器。刷新它并关闭输入流和套接字。不要关闭其他任何东西。