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中实现网络通信的主要函数,我们可以通过这些函数实现客户端与服务器之间的数据传输。
