无论您使用 winsock 还是 posix,用于创建网络套接字的函数都需要您指定套接字的地址族、协议(protocol)和“类型”。然而这个参数对程序员来说似乎意义不大,也可以通过查看其他两个参数来确定。那么这是怎么回事呢?有什么历史原因吗?维京人是否使用此参数将英国人引出他们的城堡?
最佳答案
对于 udplite协议(protocol),例如,套接字是这样创建的:
sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDPLITE);
SCTP套接字:
sctp_socket = socket(PF_INET, SOCK_STREAM, IPPROTO_SCTP);
sctp_socket = socket(PF_INET, SOCK_SEQPACKET, IPPROTO_SCTP);
换句话说,socket
调用的第三个参数并不总是从前两个派生而来。
关于c - 什么是套接字类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42071458/