我正在尝试通过手机与计算机进行通信。我正在使用socket!我想从手机上的应用程序发送命令,并收到服务器的回复。
因此,我创建了一个缓冲的写入器和一个缓冲的读取器。
不幸的是,当我关闭缓冲的编写器时,似乎套接字也被关闭(“java.net.SocketException:Socket is closed”错误)。
我不明白该怎么做。
这是客户的代码。
private String sendCommand(String c){
try {
Socket ss = new Socket(host, port);
//Send
OutputStream sOut = ss.getOutputStream();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(sOut));
bw.write(c);
System.out.println("Comando: " + c + " spedito a: " + ss.getInetAddress());
bw.close();
//ss.close();
//Read
//Socket sr = new Socket(host, port);
InputStream sIn = ss.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(sIn));
String reply = br.readLine();
System.out.println("Risposta del server: " + reply);
//br.close();
ss.close();
//return reply;
return "stiamo lavorandoci";
}
catch (ConnectException connExc){
Log.e(TAG, "Non riesco a connettermi al server.");
Log.e(TAG, connExc.toString());
}
catch (IOException e){
System.err.println("Problemi...");
Log.e(TAG, e.toString());
}
catch (Exception e){
Log.e(TAG, e.toString());
}
return "Errore.";
}
提前致谢,抱歉我的英语不好。