欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 艺术 > java TCP UDP 客户端访问例子和对比差异

java TCP UDP 客户端访问例子和对比差异

2025/3/28 7:13:50 来源:https://blog.csdn.net/zp357252539/article/details/146397628  浏览:    关键词:java TCP UDP 客户端访问例子和对比差异

Java TCP客户端示例

import java.io.*;
import java.net.*;public class TCPClient {public static void main(String[] args) {try (Socket socket = new Socket("localhost", 12345);  // 连接服务端PrintWriter out = new PrintWriter(socket.getOutputStream(), true);BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {// 发送数据out.println("Hello TCP Server!");// 接收响应String response = in.readLine();System.out.println("Server response: " + response);} catch (IOException e) {e.printStackTrace();}}
}

Java UDP客户端示例

import java.net.*;public class UDPClient {public static void main(String[] args) {try (DatagramSocket socket = new DatagramSocket()) {// 发送数据String message = "Hello UDP Server!";byte[] buffer = message.getBytes();InetAddress address = InetAddress.getByName("localhost");int port = 54321;DatagramPacket packet = new DatagramPacket(buffer, buffer.length, address, port);socket.send(packet);// 接收响应(可选)byte[] receiveBuffer = new byte[1024];DatagramPacket receivePacket = new DatagramPacket(receiveBuffer, receiveBuffer.length);socket.receive(receivePacket);System.out.println("Server response: " + new String(receivePacket.getData()));} catch (IOException e) {e.printStackTrace();}}
}

TCP与UDP对比表格

特性TCPUDP
连接方式面向连接(三次握手)无连接
可靠性可靠(数据不丢失/重复/乱序)不可靠(可能丢失/重复/乱序)
顺序保证保证数据顺序不保证
速度较慢(握手/流量控制开销)快(无连接管理开销)
头部大小20-60字节8字节
流量控制有(自动调整发送速率)
延迟较高(需确认机制)
应用场景文件传输、HTTP/HTTPS、Email视频通话、在线游戏、实时监控

关键差异总结

场景TCP推荐UDP推荐
数据完整性要求高✔️(如文件下载)❌(可能丢失数据)
实时性要求高❌(延迟较高)✔️(如游戏心跳包)
大量小数据包❌(开销大)✔️(如传感器数据上报)
需要端到端控制✔️(重传/拥塞控制)❌(需自行实现)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词