基于 UDP 协议的 Socket 通信
TCP 和 UDP 最大的区别在于是否需要客户端与服务端建立连接后才能进行数据传输,如果你学习前面的 TCP,传输前先开服务端,accept,等客户端接入,然后获得客户端 socket 然后进行 IO 操作,而 UDP 则不用,UDP 以数据报作为数据的传输载体,在进行传输时首先要把传输的数据定义成数据报(Datagram),在数据报中指明数据要到达的 Socket(主机地址和端口号),然后再将数据以数据报的形式发送出去,服务端收不收到我就不知道了,除非服务端收到后又给我回一段确认的数据报。
1.服务端实现步骤
Step 1:创建 DatagramSocket,指定端口号
Step 2:创建 DatagramPacket
Step 3:接收客户端发送的数据信息
Step 4:读取数据
示例代码:
复制代码
2.客户端实现步骤:
Step 1:定义发送信息
Step 2:创建 DatagramPacket,包含将要发送的信息
Step 3:创建 DatagramSocket
Step 4:发送数据
复制代码
3.本节小结:
本节内容比较简单,无非就是将数据转换为字节,然后放到 DatagramPacket(数据报包中),发送的时候带上接受者的 IP 地址和端口号,而接收时,用一个字节数组来缓存!发送的时候需要创建一个 DatagramSocket(端到端通信的类)对象,然后调用 send 方法给接受者发送数据报包。
版权声明: 本文为 InfoQ 作者【向阳逐梦】的原创文章。
原文链接:【http://xie.infoq.cn/article/6ec8b718b744c6e5461ee9f04】。文章转载请联系作者。
评论