0

我正在尝试使用 java.net 在 Java 中的服务器和客户端之间建立连接。我设法连接,但没有发送任何数据。我已经粘贴了代码和输出:

服务器代码:

ServerSocket welcomeSocket = new ServerSocket(999);
Socket connectionSocket = welcomeSocket.accept();
System.out.println("Connected to: " + connectionSocket.toString());
DataOutputStream outToClient = newDataOutputStream(connectionSocket.getOutputStream());
outToClient.writeBytes("Testing connection");

客户代码:

Socket clientSocket = new Socket("130.236.248.52", 999);
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
modifiedSentence = inFromServer.readLine();
System.out.println("[From server:] " + modifiedSentence);

服务器输出:连接到:Socket[addr=/130.236.248.54,port=51535,localport=999]

客户端输出:

4

2 回答 2

1
  1. 使用 aBufferedWriter写入文本(就像您使用 BufferedReader 读取文本一样)
  2. 呼吁flush()你的作家强制输出通过
  3. 如果您在readLine()客户端调用,则需要有一个行尾才能读取。
    BufferedWriter outToClient = new BufferedWriter(new OutputStreamWriter(connectionSocket.getOutputStream()));
    outToClient.write("测试连接");
    outToClient.newLine();
    outToClient.flush();
于 2013-04-06T09:12:30.650 回答
0

你在读台词,但你不是在写台词。您需要附加一个行终止符或使用导出 println() 方法的类之一,然后调用它。

于 2013-04-06T09:40:33.477 回答