时长:大小12.87M
作者回复: 很简单,1-1500为一个seq=1的包,1501-3000为seq=2的包,根据sequence组装就可以了。
作者回复: 实际上不存在UDP发送缓冲区,因为发往UDP发送缓冲区的包只要超过一定阈值(值很小)就可以发往对端。所以我们一般认为UDP是没有发送缓冲区的。
作者回复: 第一,丢了就丢了,反正UDP就是不可靠的;
第二,给每条消息加个sequence,收到后再确认,一段时间内没收到,就重发。
作者回复: 我的本意是使用超时或者非阻塞来解
作者回复: 好问题,fgets函数会"默默"的给我们加上\0
作者回复: 基本是这样的。
作者回复: 流就像水流,一直持续不断的流淌,只不过流淌的是0101这样的比特流。
作者回复: 很快就会讲到了 :)
作者回复: 1. TCP有序传输的意思是对于传送的字节流,接收端总是保证按照发送的顺序来接收;
2.TCP是面向连接的,UDP没有连接的概念;
3.当然可以,但是意义不大。
作者回复: 👍
作者回复: 改下程序,试试就知道了,最好把你的结果贴上来,大家一起研究。
作者回复: 不是RST包,RST的意思是connection reset;这里connection refused是对方的TCP协议栈发送的,工作在操作系统内核中。
作者回复: 阻塞是因为服务端没有开启,无法从服务端得到响应,你看一下程序原文,sendto已经执行成功了;
明信片的比喻对的,这里sendto已经成功执行了,相当于把明信片放到邮筒了,原程序里是希望通过recvfrom来或得服务端的反馈。