Java套接字连接

Yur*_*yak 4 java sockets networking

我试图在Java中测试套接字连接,但失败了.这是我的代码(两个简单的应用程序,服务器和客户端):

public class TestServer {

public static void main(String args[]) throws IOException {
    ServerSocket serverSocket = new ServerSocket(1111);
    System.out.println("Server socket created");
    Socket socket = serverSocket.accept();
    System.out.println("Socket accepted");
    PrintWriter output =  new PrintWriter(socket.getOutputStream(), true);
    System.out.println("Output created");
    output.write("Output string");
    socket.close();
    serverSocket.close();       
}
}

public class TestClient {

public static void main(String args[]) throws IOException {

    Socket socket = new Socket("127.0.0.1", 1111);
    BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    System.out.println("Input: " + input.readLine());
    socket.close();

}

}
Run Code Online (Sandbox Code Playgroud)

输出是(在运行服务器之后,在它之后,客户端):

Server socket created
Socket accepted
Output created
Input: null
Run Code Online (Sandbox Code Playgroud)

我不知道问题是什么以及为什么客户端没有收到发送给它的字符串.我很感激任何帮助.

Fel*_*ipe 6

通常当我使用类PrintWriter或OutputStream时,我需要刷新其内容以通过套接字发送数据或将其写入文件.