java udp通信中为什么两用户可以不用通过服务器而直接连接通信
答案:2 悬赏:70 手机版
解决时间 2021-03-05 21:11
- 提问者网友:十年饮冰
- 2021-03-05 00:21
java udp通信中为什么两用户可以不用通过服务器而直接连接通信
最佳答案
- 五星知识达人网友:平生事
- 2021-03-05 01:38
没理解你说的服务器是撒意思,我就当你问的是udp为撒不跟tcp一样那样的连接!
UDP是无状态的 也不需要建立连接,他将数据直接打包成报文段后传递给网络层,不需要做什么 拥塞控制啊,也不考虑可靠性传输,也不需要维护连接状态。
所以 DatagramSocket里就没有通道,没有流的概念,不会像socket一样 可以getInputStream等,
发送数据 直接 send DatagramPcket,接收直接是 receive packet,
因为客户端 跟服务端没有建立连接,所以Datagrampacket这个 里面 就包含有 目的机的ip和端口。客户端只是将这个packet发送到 网上去,其他的就不管了,所以 udp会丢包
如果回答的不是你期望的,希望你把问题更清楚的苗虎一下
UDP是无状态的 也不需要建立连接,他将数据直接打包成报文段后传递给网络层,不需要做什么 拥塞控制啊,也不考虑可靠性传输,也不需要维护连接状态。
所以 DatagramSocket里就没有通道,没有流的概念,不会像socket一样 可以getInputStream等,
发送数据 直接 send DatagramPcket,接收直接是 receive packet,
因为客户端 跟服务端没有建立连接,所以Datagrampacket这个 里面 就包含有 目的机的ip和端口。客户端只是将这个packet发送到 网上去,其他的就不管了,所以 udp会丢包
如果回答的不是你期望的,希望你把问题更清楚的苗虎一下
全部回答
- 1楼网友:西岸风
- 2021-03-05 01:54
你说呢...
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯