javasocket通信,客户端读取
时间: 2023-06-30 21:27:02 浏览: 76
java写的socket通信客户端
4星 · 用户满意度95%
Java Socket 编程中,客户端可以通过 InputStream 对象读取服务器发送的数据。以下是读取服务器消息的示例代码:
```java
Socket clientSocket = new Socket("服务器IP地址", 服务器端口号);
InputStream inputStream = clientSocket.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String messageFromServer = bufferedReader.readLine();
System.out.println("收到服务器消息:" + messageFromServer);
```
上述代码中,首先通过 Socket 对象连接到服务器,然后获取 InputStream 对象,并使用 BufferedReader 对象读取服务器发送的消息。最后将消息打印到控制台上。
需要注意的是,如果服务器发送的消息较长,客户端可能需要循环读取多次才能读取完整的消息。可以使用类似以下的代码来实现:
```java
StringBuilder messageBuilder = new StringBuilder();
char[] buffer = new char[1024];
int length = 0;
while ((length = bufferedReader.read(buffer)) != -1) {
messageBuilder.append(buffer, 0, length);
}
String messageFromServer = messageBuilder.toString();
System.out.println("收到服务器消息:" + messageFromServer);
```
上述代码中,首先创建一个 StringBuilder 对象用于拼接服务器发送的消息。然后循环读取 BufferedReader 对象中的数据,每次读取到的数据都会被追加到 StringBuilder 对象中。当读取到的数据长度为 -1 时,表示服务器已经发送完了所有数据,此时循环读取结束,可以将 StringBuilder 对象转换为字符串并打印到控制台上。
阅读全文