Java网络编程:TCP/UDP通信示例 原创 客官°小女子只卖身不卖艺 2024-11-06 23:48 32阅读 0赞 Java网络编程中,TCP和UDP是两种常用的通信协议。下面我将分别给出TCP和UDP通信的简单示例代码。 ### TCP通信示例TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在Java中,可以使用`ServerSocket`和`Socket`类来实现TCP通信。 **服务器端(Server):** ```javaimport java.io.*; import java.net.*; public class TCPServer { public static void main(String[] args) { try { ServerSocket serverSocket = new ServerSocket(1234); //监听1234端口 System.out.println("Server is running and waiting for client connection..."); //等待客户端连接Socket clientSocket = serverSocket.accept(); System.out.println("Client connected."); // 获取输入输出流 BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true); //读取客户端发送的消息String inputLine; while ((inputLine = in.readLine()) != null) { System.out.println("Client says: " + inputLine); //向客户端发送消息out.println("Server received your message: " + inputLine); } // 关闭连接in.close(); out.close(); clientSocket.close(); serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } ```**客户端(Client):** ```javaimport java.io.*; import java.net.*; public class TCPClient { public static void main(String[] args) { try { //连接服务器Socket socket = new Socket("localhost",1234); System.out.println("Connected to server."); // 获取输入输出流 BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWriter out = new PrintWriter(socket.getOutputStream(), true); 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("Server says: " + fromServer); } // 关闭连接in.close(); out.close(); stdIn.close(); socket.close(); } catch (UnknownHostException e) { System.err.println("Don't know about host " + "localhost"); e.printStackTrace(); } catch (IOException e) { System.err.println("Couldn't get I/O for the connection to " + "localhost"); e.printStackTrace(); } } } ```### UDP通信示例UDP(用户数据报协议)是一种无连接的协议,它在IP主机之间提供一种简单、快速的包传输服务。 **服务器端(Server):** ```javaimport java.net.*; public class UDPServer { public static void main(String[] args) { try { DatagramSocket serverSocket = new DatagramSocket(1234); System.out.println("Server is running and waiting for client message..."); byte[] receiveData = new byte[1024]; byte[] sendData = new byte[1024]; while (true) { DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); serverSocket.receive(receivePacket); String sentence = new String(receivePacket.getData(),0, receivePacket.getLength()); System.out.println("RECEIVED: " + sentence); String capitalizedSentence = sentence.toUpperCase(); sendData = capitalizedSentence.getBytes(); DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, receivePacket.getAddress(), receivePacket.getPort()); serverSocket.send(sendPacket); } } catch (Exception e) { e.printStackTrace(); } } } ```**客户端(Client):** ```javaimport java.net.*; public class UDPClient { public static void main(String[] args) { try { DatagramSocket clientSocket = new DatagramSocket(); System.out.println("Client is running and waiting for user input..."); byte[] sendData = new byte[1024]; byte[] receiveData = new byte[1024]; BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in)); String sentence; while (true) { sentence = stdIn.readLine(); sendData = sentence.getBytes(); InetAddress IPAddress = InetAddress.getByName("localhost"); DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress,1234); clientSocket.send(sendPacket); DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); clientSocket.receive(receivePacket); String modifiedSentence = new String(receivePacket.getData(),0, receivePacket.getLength()); System.out 文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。
相关 Java网络编程:TCP/UDP通信示例 Java网络编程中,TCP和UDP是两种常用的通信协议。下面我将分别给出TCP和UDP通信的简单示例代码。 ### TCP通信示例TCP(传输控制协议)是一种面向连接的、可靠 客官°小女子只卖身不卖艺/ 2024年11月06日 23:48/ 0 赞/ 33 阅读
相关 Java网络编程:Socket通信示例 Java的Socket通信是实现客户端和服务器端之间数据交换的一种方式。以下是一个基本的Socket通信示例: 1. 客户端(ServerSocket连接): ```jav 女爷i/ 2024年10月21日 20:21/ 0 赞/ 37 阅读
相关 使用Java进行网络编程,Socket通信示例 在Java中,我们可以使用`java.net.Socket`类来进行客户端的Socket通信。以下是一个简单的示例: ```java import java.io.*; im 向右看齐/ 2024年10月07日 22:48/ 0 赞/ 62 阅读
相关 网络编程:Java基于Socket通信的基本示例 在Java中,我们可以使用Socket和ServerSocket进行基于TCP的网络通信。以下是一个基本示例: 1. **客户端代码**(创建Socket连接到服务器) ` 青旅半醒/ 2024年10月07日 19:15/ 0 赞/ 52 阅读
相关 Java Socket编程:网络通信错误的示例 在Java Socket编程中,可能会遇到各种错误。以下是一个关于网络通信错误的示例: 1. **连接失败**: 当客户端尝试连接服务器时,如果服务器未启动或者端口被占 妖狐艹你老母/ 2024年09月22日 20:06/ 0 赞/ 72 阅读
相关 Java网络编程:Socket通信示例 在Java中,Socket是一种用于客户端和服务器之间进行双向通信的API。以下是一个简单的Socket通信示例: 1. 创建ServerSocket(服务器端): ```j 蔚落/ 2024年09月17日 18:21/ 0 赞/ 101 阅读
相关 网络编程:Java Socket通信基本步骤示例 在Java中,Socket编程的基本步骤包括创建Socket、连接Socket、接收数据和发送数据。下面是一个简单的示例: 1. 创建ServerSocket(服务器端) ` ゝ一世哀愁。/ 2024年09月12日 15:09/ 0 赞/ 66 阅读
相关 Java网络编程:ServerSocket、Socket通信示例 在Java中,服务器通过Socket通信。以下是一个简单的ServerSocket和Socket通信的示例: 1. 创建ServerSocket(监听客户端连接): ```j 墨蓝/ 2024年09月10日 02:00/ 0 赞/ 79 阅读
相关 java网络通信编程 首先声明一下,刚开始学习java网络通信编程就对他有一种畏惧感,因为自己对网络一窍不通,所以。。。呵呵。。你懂得,昨天又仔细的学习了一遍,感觉其实java网络编程也没想象的那么 心已赠人/ 2024年02月18日 19:44/ 0 赞/ 83 阅读
还没有评论,来说两句吧...