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

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();
}

上面的示例代码只是基础的通信函数使用示例,实际应用中可能需要添加更多的异常处理和业务逻辑处理。