Java网络编程中如何配置和使用套接字?

2024年 4月 15日 69.2k 0

socket 是网络编程的基础,允许应用程序通过网络相互通信。本指南提供了如何配置和使用 socket 的详细步骤:创建套接字:指定端口和地址。使用套接字:服务器端监听连接、读写数据;客户端端连接到服务器、发送和接收数据。实战案例:建立简单的聊天应用程序,演示如何使用 socket 进行双向通信。

Java网络编程中如何配置和使用套接字?

Java 网络编程:Socket 配置和使用指南

套接字 (Socket) 是网络编程的基础,允许应用程序通过网络相互通信。本指南将介绍如何在 Java 中配置和使用套接字。

配置套接字

创建套接字的步骤如下:

// 创建一个 ServerSocket 监听端口 8080
ServerSocket serverSocket = new ServerSocket(8080);

// 创建一个 Socket 客户端连接到 localhost:8080
Socket clientSocket = new Socket("localhost", 8080);

使用套接字

服务器端:

// 接受客户端连接
Socket clientSocket = serverSocket.accept();

// 获取输入流和输出流
DataInputStream input = new DataInputStream(clientSocket.getInputStream());
DataOutputStream output = new DataOutputStream(clientSocket.getOutputStream());

// 读写数据
String message = input.readUTF();
output.writeUTF("Hello from server: " + message);

// 关闭连接
clientSocket.close();

客户端端:

// 发送数据到服务器
DataOutputStream output = new DataOutputStream(clientSocket.getOutputStream());
output.writeUTF("Hello from client");

// 接收服务器响应
DataInputStream input = new DataInputStream(clientSocket.getInputStream());
String serverMessage = input.readUTF();

// 关闭连接
clientSocket.close();

实战案例

建立一个简单的聊天应用程序:

服务器代码:

ServerSocket serverSocket = new ServerSocket(8080);
Socket clientSocket = serverSocket.accept();
BufferedReader input = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
PrintWriter output = new PrintWriter(clientSocket.getOutputStream(), true);

while (true) {
    String message = input.readLine();
    if (message == null || message.isEmpty()) {
        break;
    }
    output.println("Server: " + message);
}

客户端代码:

Socket clientSocket = new Socket("localhost", 8080);
BufferedReader input = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
PrintWriter output = new PrintWriter(clientSocket.getOutputStream(), true);

output.println("Hello from client");
String serverMessage = input.readLine();
System.out.println(serverMessage);

以上就是Java网络编程中如何配置和使用套接字?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论