0
나는 안드로이드 클라이언트와 자바 서버와 간단한 애플 리케이션을 만들려고합니다 안드로이드 클라이언트가 서버 회신 오류 : 소켓을 닫으려고하는 동안 서버 (자바) 에 메시지를 보낼 수 있습니다. 라인 (경우 ((receiveMessage = receiveRead.readLine())! = NULL))안드로이드 : 소켓 통신
public class ClientConnectorTask extends AsyncTask<String, Void, Integer> {
private Socket client;
private PrintWriter printwriter;
protected Integer doInBackground(String...strings) {
// validate input parameters
if (strings.length <= 0) {
return 0;
}
// connect to the server and send the message
try {
client = new Socket("192.168.1.4", 7777);
printwriter = new PrintWriter(client.getOutputStream(),true);
//while(true){
InputStream istream = client.getInputStream();
BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
String receiveMessage;
while (true){
// printwriter.write(strings[0]);
printwriter.print(strings[0]);
printwriter.flush();
printwriter.close();
if((receiveMessage = receiveRead.readLine()) != null) //receive from server
{
System.out.println(receiveMessage); // displaying at DOS prompt
}
}
//}
//client.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return 0;
}
protected void onPostExecute(Long result) {
return;
}
}
나는 이것에 대해 잘 모르겠다. 나는이''printwriter.close();''가 소켓을 닫고 있을지도 모른다고 생각한다. 그러나 내가 말했듯이 나는 확신하지 못한다. 제거하면 여전히 오류가 발생합니다. 또한 서버 측에서 종료하지 않았습니까? – Fred
답장을 보내 주셔서 감사합니다. 그다지하지 않으면 데이터가 서버에 도달하지 않습니다 –