




TCP和UDP的区别
1、TCP是面向链接的,TCP的三次握手在最低限度上(实际上也很大程度上保证了)保证了连接的可靠性;
2、而UDP不是面向连接的,UDP传送数据前并不与对方建立连接,对接收到的数据也不发送确认信号,发送端不知道数据是否会正确接收,当然也不用重发,所以说UDP是无连接的、不可靠的一种数据传输协议。
3、也正由于上面的特点,使得UDP的开销更小数据传输速率更高,因为不必进行收发数据的确认,所以UDP的实时性更好。


这里的sockaddr结构体: 16字节。

注意这里的结构体的字节数,下面要强制转换成另一个结构体。


如何填充:


int listen( int sockfd, int backlog);
sockfd:用于标识一个已捆绑未连接套接口的描述字。
backlog:等待连接队列的最大长度。
listen()为申请进入的连接建立一个后备日志,并排队等待被接受(用accept()接受连接)。这个函数特别适用于同时有多个连接请求的服务器;如果当一个连接请求到来时,队列已满,那么客户将收到一个WSAECONNREFUSED错误。
注意accept步骤上面还有个listen函数步骤。listen函数没啥难度特殊的这里不做介绍。

这个是客户端使用的函数: 结构体还是一样的。



Recv等待所有用MSG-WAITALL

服务端close后,客户端也可以收到recv,之后退出。




本文详细对比了TCP和UDP这两种传输层协议的特点。TCP是一种面向连接的、可靠的协议,通过三次握手确保连接的可靠性。而UDP则是一种无连接的、不可靠的协议,它不保证数据的可靠传输,但其开销较小,传输速率较高,实时性较好。

被折叠的 条评论
为什么被折叠?



