您当前的位置:首页 > 百宝箱

java socket编程例子

2024-09-30 21:09:08 作者:石家庄人才网

本篇文章给大家带来《java socket编程例子》,石家庄人才网对文章内容进行了深度展开说明,希望对各位有所帮助,记得收藏本站。

Java Socket编程提供了一种机制,使得运行在不同机器上的两个应用程序可以进行通信。一个应用程序作为服务器端,监听特定端口,等待客户端连接;另一个应用程序作为客户端,连接到服务器端的指定端口,建立连接后进行数据传输。

下面是一个简单的Java Socket编程例子,实现了一个简单的客户端和服务器端程序,可以在它们之间发送和接收字符串消息:

1. 服务器端代码 (Server.java)

```javaimport java.io.*;import java.net.*;public class Server { public static void main(String[] args) throws IOException { // 监听端口号 int portNumber = 12345; try ( // 创建ServerSocket,监听指定端口 ServerSocket serverSocket = new ServerSocket(portNumber); // 阻塞,等待客户端连接 Socket clientSocket = serverSocket.accept(); // 获取输出流,用于向客户端发送数据 PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true); // 获取输入流,用于接收客户端发送的数据 BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); ) { System.out.println("服务器已启动,监听端口:" + portNumber); // 接收客户端发送的消息 String inputLine; while ((inputLine = in.readLine()) != null) { System.out.println("客户端:" + inputLine); // 向客户端发送消息 out.println("服务器:" + inputLine.toUpperCase()); } } catch (IOException e) { System.out.println("发生异常: " + e.getMessage()); } }}```

这段代码创建了一个服务器端程序,监听端口号12345,等待客户端连接。当客户端连接成功后,服务器端程序会创建一个新的线程来处理与该客户端的通信。在通信线程中,服务器端程序会不断地接收客户端发送的消息,并将消息转换为大写后发送回客户端。

2. 客户端代码 (Client.java)

```javaimport java.io.*;import java.net.*;public class Client { public static void main(String[] args) throws IOException { // 服务器地址 String hostName = "localhost"; // 服务器端口号 int portNumber = 12345; try ( // 创建Socket,连接到服务器 Socket socket = new Socket(hostName, portNumber); // 获取输出流,用于向服务器发送数据 PrintWriter out = new PrintWriter(socket.getOutputStream(), true); // 获取输入流,用于接收服务器发送的数据 BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); ) { // 从控制台读取用户输入 BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in)); String userInput; while ((userInput = stdIn.readLine()) != null) { // 向服务器发送消息 out.println(userInput); // 接收服务器发送的消息 String fromServer = in.readLine(); System.out.println("服务器:" + fromServer); } } catch (UnknownHostException e) { System.err.println("无法找到主机: " + hostName); System.exit(1); } catch (IOException e) { System.err.println("与服务器连接时发生异常: " + e.getMessage()); System.exit(1); } }}```

这段代码创建了一个客户端程序,连接到本地主机上的服务器程序,端口号为12345。连接成功后,客户端程序会不断地从控制台读取用户输入,并将用户输入发送到服务器。服务器会将接收到的消息转换为大写后发送回客户端,客户端程序会将服务器发送的消息打印到控制台上。

<

版权声明:《java socket编程例子》来自【石家庄人才网】收集整理于网络,不代表本站立场,所有图片文章版权属于原作者,如有侵略,联系删除。
https://www.ymil.cn/baibaoxiang/6097.html