Java网络编程函数库:使用Socket API的基本函数及示例
发布时间:2023-06-30 17:59:09
Java提供了Socket和ServerSocket类来实现网络编程。Socket类用于客户端和服务器之间的通信,而ServerSocket类用于服务器端接受客户端连接。
Socket类的常用函数:
1. Socket(String host, int port): 构造一个Socket对象,连接到指定的主机和端口。
示例代码:
Socket socket = new Socket("localhost", 8080);
2. InputStream getInputStream(): 获取Socket对象的输入流,用于从服务器读取数据。
示例代码:
InputStream inputStream = socket.getInputStream();
3. OutputStream getOutputStream(): 获取Socket对象的输出流,用于向服务器写入数据。
示例代码:
OutputStream outputStream = socket.getOutputStream();
4. void close(): 关闭Socket对象。
示例代码:
socket.close();
ServerSocket类的常用函数:
1. ServerSocket(int port): 创建一个ServerSocket对象,监听指定端口上的客户端连接。
示例代码:
ServerSocket serverSocket = new ServerSocket(8080);
2. Socket accept(): 接受客户端连接并返回一个Socket对象,用于与客户端进行通信。
示例代码:
Socket socket = serverSocket.accept();
3. void close(): 关闭ServerSocket对象。
示例代码:
serverSocket.close();
示例:客户端发送消息给服务器并接收服务器返回的消息
客户端代码:
Socket socket = new Socket("localhost", 8080);
// 发送消息给服务器
OutputStream outputStream = socket.getOutputStream();
outputStream.write("Hello, server!".getBytes());
// 接收服务器返回的消息
InputStream inputStream = socket.getInputStream();
byte[] buffer = new byte[1024];
int length = inputStream.read(buffer);
String message = new String(buffer, 0, length);
System.out.println("Server response: " + message);
socket.close();
服务器端代码:
ServerSocket serverSocket = new ServerSocket(8080);
// 接受客户端连接
Socket socket = serverSocket.accept();
// 接收客户端发送的消息
InputStream inputStream = socket.getInputStream();
byte[] buffer = new byte[1024];
int length = inputStream.read(buffer);
String message = new String(buffer, 0, length);
System.out.println("Client message: " + message);
// 发送消息给客户端
OutputStream outputStream = socket.getOutputStream();
outputStream.write("Hello, client!".getBytes());
socket.close();
serverSocket.close();
上述示例演示了一个简单的客户端与服务器的通信流程。客户端连接到服务器并发送消息,服务器接受客户端的连接并接收消息后给客户端发送回复。
总结:
Socket类和ServerSocket类提供了基本的网络编程函数,可以方便地实现客户端与服务器之间的通信。开发者可以根据自己的需求,使用这些函数库来实现各种网络应用。
