从send函数和sendto函数参数的不同看TCP和UDP的差别

来源:互联网 发布:知有陈迹而不知有今务 编辑:程序博客网 时间:2024/06/10 17:04
ssize_t send(int sockfd, const void *buf, size_t len, int flags);
ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen);
send函数专用于TCP链接,sendto函数专用与UDP连接。
send函数只有一个能联想到客户端地址的参数,就是第一个参数sockfd。在服务器端每一个客户都有一个专用的socket,毫无疑问就可以把它看作这个客户端的地址映射。
sendto能联想到客户端地址的参数有两个:sockfd 和 dest_addr,但在实际应用中对所有UDP客户sockfd参数都使用同一个值,所以可以推断这个socket是为所有UDP客户使用的,不能看做目的客户端的地址映射,只有dest_addr才是目的客户端的地址映射(ip地址和端口号)。
0 0
原创粉丝点击