Java中的网络通信函数示例
发布时间:2023-05-21 23:58:50
Java中的网络通信函数主要包括Socket和ServerSocket类中的方法。Socket是客户端在网络上进行连接的通信端口对象,ServerSocket是服务端在网络上进行监听的通信端口对象。
Socket类中的方法:
1.构造函数:Socket的构造函数有多个重载,可以根据需要选择不同的参数,如IP地址、端口号、连接超时等。
2.connect():连接服务器,参数为服务端的IP地址和端口号。
3.getInputStream()、getOutputStream():获取输入输出流,可以进行数据的读写。
4.close():关闭Socket连接。
ServerSocket类中的方法:
1.构造函数:ServerSocket的构造函数有多个重载,可以根据需要选择不同的参数,如端口号、等待连接超时时间等。
2.accept():监听客户端连接请求,如果有一个客户端连接,则返回一个Socket对象。
3.close():关闭ServerSocket连接。
示例代码:
客户端连接示例:
Socket socket = new Socket("192.168.1.1", 9999);
InputStream inputStream = socket.getInputStream();
OutputStream outputStream = socket.getOutputStream();
byte[] data = "Hello, I am client.".getBytes();
outputStream.write(data);
byte[] buffer = new byte[1024];
int len;
while ((len = inputStream.read(buffer)) != -1) {
System.out.println(new String(buffer, 0, len));
}
socket.close();
服务端监听示例:
ServerSocket serverSocket = new ServerSocket(9999);
while (true) {
Socket socket = serverSocket.accept();
new Thread(() -> {
try (InputStream inputStream = socket.getInputStream();
OutputStream outputStream = socket.getOutputStream()) {
byte[] buffer = new byte[1024];
int len;
while ((len = inputStream.read(buffer)) != -1) {
System.out.println(new String(buffer, 0, len));
outputStream.write("Hello, I am server.".getBytes());
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
上面的示例代码只是基础的通信函数使用示例,实际应用中可能需要添加更多的异常处理和业务逻辑处理。
