java socket 连接服务端获并且获取服务端返回的信息
时间: 2023-08-06 08:10:02 浏览: 51
要连接到一个服务端并获取服务端返回的信息,可以使用 Java 中的 Socket 类。以下是一个简单的例子:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class Client {
public static void main(String[] args) throws IOException {
String hostName = "localhost"; // 服务端主机名
int portNumber = 12345; // 服务端端口号
try (
Socket socket = new Socket(hostName, portNumber);
PrintWriter out =
new PrintWriter(socket.getOutputStream(), true);
BufferedReader in =
new BufferedReader(
new InputStreamReader(socket.getInputStream()));
) {
// 向服务端发送消息
out.println("Hello, server!");
// 从服务端接收消息并输出到控制台
String response;
while ((response = in.readLine()) != null) {
System.out.println("Server: " + response);
}
} catch (IOException e) {
System.err.println("Couldn't get I/O for the connection to " +
hostName);
System.exit(1);
}
}
}
```
在上面的例子中,我们首先创建了一个 Socket 对象,并指定了服务端的主机名和端口号。然后,我们通过 Socket 对象获取了一个输出流和一个输入流,用来向服务端发送消息和接收服务端的响应。接着,我们向服务端发送了一条消息,并在一个循环中不断从输入流中读取服务端的响应,直到服务端关闭了连接为止。每次读取到服务端的响应后,我们都将其输出到控制台。最后,在捕获到异常时,我们输出了一个错误信息并退出程序。