UDP网络编程DatagramSocket及DatagramPacket的简单使用

本文介绍了UDP与TCP网络通信的区别,重点讲解了使用Java的DatagramSocket和DatagramPacket进行UDP通信的步骤,包括服务端发送和接收数据,以及客户端的相应操作。通过对比TCP,阐述了UDP的无连接性及其速度优势,适合对可靠性要求不高的场景。


前言

之前我们讲过使用TCP网络编程的有关用法,讲了如何使用ServerSocket和Socket来构建服务端和客户端,以及如何使用字节输入输出流来接收和发送数据.
今天我将讲述如何使用UDP网络编程实现简单的发送数据和接收来自客户端或服务端的数据.


提示:以下是本篇文章正文内容,下面案例可供参考

一、UDP和TCP网络通信比较

在这里插入图片描述
从图中可以看到,TCP和UDP第一个区别就是TCP是面向连接的编程,UDP是面向非连接的编程.

面向连接意思就是必须先开启服务端,然后通过连接服务端才可以发送消息和接收消息,同理,面向非连接意思就是可以在不开启服务器的情况下,直接向指定的地址(包括IP地址和端口号)发送消息.

是否连接带来的直接影响就是TCP传输消息可靠,UDP传输消息不可靠;因为UDP在不开服务器的情况下,客户端发送的信息服务端是否接收到是不可知的.TCP通信必须先开启服务器才能连接,所以服务端一定可以接收到客户端的消息.

同理.因为TCP需要先开启服务端才能发送消息,所以它的通信速度相对较慢,而UDP不需要通过确认服务端是否开启,直接向其发送数据,所以它的数据传输速度相对较快,只是无法确认服务端是否接收到消息.
TCP和UDP的具体使用分场景,可以根据实际需求选择不同的方式.

二、UDP通信实现步骤

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值