欢迎访问宙启技术站
智能推送

Java中的网络通信函数:Socket、ServerSocket等

发布时间:2023-06-23 23:34:54

Java中的网络通信函数主要包括Socket、ServerSocket等,常用于实现客户端与服务器之间的通信。下面我们来具体了解一下这些函数。

1. Socket

在Java中,Socket是实现客户端与服务器之间通信的主要类。可以通过Socket类创建一个套接字,用来与另一个进程进行通信。

Socket的常用构造函数如下:

Socket(InetAddress address, int port) // 指定服务器地址和端口
Socket(String host, int port) // 指定服务器主机名和端口
Socket(String host, int port, InetAddress localAddress, int localPort) // 指定服务器地址、端口和本地地址、端口

使用Socket进行通信主要包括以下几个步骤:

1. 创建一个Socket对象并连接到服务器:

Socket socket = new Socket("127.0.0.1", 8080);

2. 打开输入/输出流进行数据传输:

InputStream inputStream = socket.getInputStream();
OutputStream outputStream = socket.getOutputStream();

3. 读写数据:

// 读取数据
byte[] buffer = new byte[1024];
int len = inputStream.read(buffer);
String message = new String(buffer, 0, len);

// 写入数据
outputStream.write("Hello World!".getBytes());

4. 关闭Socket:

socket.close();

2. ServerSocket

在Java中,ServerSocket是实现服务器端监听客户端连接请求的类。可以通过ServerSocket类创建一个服务器端套接字,并通过accept()函数等待客户端连接请求。

ServerSocket的常用构造函数如下:

ServerSocket(int port) // 指定监听端口
ServerSocket(int port, int backlog) // 指定监听端口和连接请求队列长度
ServerSocket(int port, int backlog, InetAddress bindAddr) // 指定监听端口、连接请求队列长度和绑定的本地IP地址

使用ServerSocket进行通信主要包括以下几个步骤:

1. 创建一个ServerSocket对象并绑定到指定端口:

ServerSocket serverSocket = new ServerSocket(8080);

2. 通过accept()函数等待客户端连接请求:

Socket socket = serverSocket.accept();

3. 打开输入/输出流进行数据传输:

InputStream inputStream = socket.getInputStream();
OutputStream outputStream = socket.getOutputStream();

4. 读写数据:

// 读取数据
byte[] buffer = new byte[1024];
int len = inputStream.read(buffer);
String message = new String(buffer, 0, len);

// 写入数据
outputStream.write("Hello World!".getBytes());

5. 关闭ServerSocket和Socket:

socket.close();
serverSocket.close();

综上所述,Socket和ServerSocket是Java中实现网络通信的主要函数,我们可以通过这些函数实现客户端与服务器之间的数据传输。