我正在尝试使用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);
服务器输出: 连接到:套接字[addr = / 130.236.248.54,port = 51535,localport = 999]
客户端输出:
答案 0 :(得分:1)
BufferedWriter
撰写文字(就像您使用BufferedReader阅读文字一样)flush()
以强制输出通过readLine()
,则需要有一个行尾来阅读。BufferedWriter outToClient = new BufferedWriter(new OutputStreamWriter(connectionSocket.getOutputStream())); outToClient.write("Testing connection"); outToClient.newLine(); outToClient.flush();
答案 1 :(得分:0)
你正在读行,但你不是在写行。您需要附加行终止符或使用导出println()方法的类之一,并调用它。