java socket 客户端代码
时间: 2024-10-11 20:10:07 浏览: 13
在Java中,Socket是用于网络通信的基础组件,客户端通常用来连接服务器并发送接收数据。以下是一个简单的Java Socket客户端的示例代码:
```java
import java.io.*;
import java.net.*;
public class SocketClient {
public static void main(String[] args) {
try {
// 创建一个Socket对象,指定服务器地址和端口号
Socket client = new Socket("localhost", 8080); // 更改成实际服务器地址
System.out.println("Connected to server...");
// 创建输出流,向服务器写入数据
OutputStream outputStream = client.getOutputStream();
DataOutputStream out = new DataOutputStream(outputStream);
String message = "Hello, Server!";
out.writeUTF(message);
System.out.println("Sent message: " + message);
// 创建输入流,从服务器接收数据
InputStream inputStream = client.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
String response = in.readLine();
System.out.println("Received from server: " + response);
// 关闭资源
out.close();
inputStream.close();
client.close();
System.out.println("Connection closed.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个程序首先创建了一个Socket实例并连接到指定的IP地址和端口(这里假设为本地主机的8080端口)。然后,它创建了输出流来发送一个字符串消息给服务器,接着读取服务器的响应,并关闭所有连接的资源。
运行此客户端时,请确保服务器端也已经配置好监听该端口,并处理来自客户端的数据。如果服务器没有相应功能,`readLine()`可能返回null。
**相关问题-**
1. Java Socket的工作原理是什么?
2. 如何处理Socket连接异常?
3. Socket和ServerSocket的主要区别是什么?