作业2

TCP与UDP的联系与区别?

小结TCP与UDP的区别:
1.基于连接与无连接;
2.对系统资源的要求(TCP较多,UDP少);
3.UDP程序结构较简单;
4.流模式与数据报模式 ;

5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。

TCP与UDP区别总结:
1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接

2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付

3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的

UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)

4、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信

5、TCP首部开销20字节;UDP的首部开销小,只有8个字节
6、TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道

 

主机字节序和网络字节序转换函数

#include <arpa/inet.h>

uint32_t htonl(uint32_t hostlong);<主机字节序转换位网络字节序32,转换IP地址时用>
uint16_t htons(uint16_t hostshort);<主机字节序16位转换为网络字节序16位,转换端口时用>

uint32_t ntohl(uint32_t netlong);<网络字节序32位转换为主机字节序32,读的时候会涉及>
uint16_t ntohs(uint6_t netshort)<网络字节序16位转换位16位主机字节序,同上>

IP地址转换函数;
#include <arpa/inet.h>
int inet_pton(int af,const charsrc,chardst);192.168.1.24----->网络字节序
const char* inet_ntop(int af,const voidsrc,char dst,socklen_tsize);网络字节序—》点分十进制字符串IP;
参数af:如果时IPv4,选AF_INET,IPV6选择AF_INET6;

 

posted @ 2022-10-09 21:50  da鸽鸽  阅读(46)  评论(0)    收藏  举报