您的代码是正确的。我使用通用服务器进行了测试,该服务器将响应客户端发送的所有内容,并且工作正常(无更改)。您使用的服务器可能有故障。我注意到的一件事是,对于我的服务器,每次写入输出流时,都需要添加一个换行符,以便它实际发送数据。我敢打赌,这就是您的GUI没有收到任何东西的原因。这是我服务器上的客户端线程类:
class ClientThread extends Thread { private Socket sock; private InputStream in; private OutputStream out; ClientThread( Socket sock ) { this.sock = sock; try { this.in = sock.getInputStream(); this.out = sock.getOutputStream(); } catch ( IOException e ) { e.printStackTrace(); } } //Echos whatever the client sends to it public void run() { BufferedReader bufIn = new BufferedReader( new InputStreamReader( in ) ); BufferedWriter bufOut = new BufferedWriter( new OutputStreamWriter( out ) ); while ( true ) { try { String msg = bufIn.readLine(); System.out.println( "Received: " + msg ); bufOut.write( msg ); bufOut.newline(); //HERE!!!!!! bufOut.flush(); } catch ( IOException e ) { e.printStackTrace(); } } }}


