简体   繁体   English

Java Socket 客户端未收到数据

[英]Java Socket Client not Recieving Data

I have created my first test application implementing a socket server.我已经创建了我的第一个实现套接字服务器的测试应用程序。 I am having some issues getting the client to receive data, but the server gets data just fine.我在让客户端接收数据时遇到一些问题,但服务器接收数据就好了。 Here is the server:这是服务器:

ServerSocket socket = new ServerSocket(11111);
                System.out.println("CREATING SERVER...");
                while (true) {
                    Socket SERVER_WORK = socket.accept();
                    BufferedReader clientIN = new BufferedReader(new InputStreamReader(SERVER_WORK.getInputStream()));
                    PrintWriter outSend = new PrintWriter(SERVER_WORK.getOutputStream());
                    String ClientSTR = clientIN.readLine();
                    System.out.println("Client 1: " + ClientSTR);
                    String toClient = "Hello";
                    outSend.write(toClient + '\n');
                }

And here is the client:这是客户端:

System.out.println("CONNECTING TO SERVER...");
                while (true) {
                    Socket clientSocket = new Socket(server, 11111);
                    BufferedReader fromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
                    DataOutputStream toServere = new DataOutputStream(clientSocket.getOutputStream());
                    Scanner in = new Scanner(System.in);
                    toServere.write(in.nextLine().getBytes());
                    if (fromServer.ready())
                    System.out.println(fromServer.readLine());
                    clientSocket.close();
                }

Everything works properly except for the client receiving data.除了客户端接收数据外,一切正常。

我找到了解决方案:我需要在行尾添加一个 '\\n' 以使 BufferedReader 的 DataOutputStream/PrintWriter 正常工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM