c - 什么是套接字类型?

标签 c sockets

无论您使用 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/

相关文章:

c - 创建共享库时,如何告诉链接器可执行文件中存在符号?

c - 内存分配和复制到新结构

javascript - 在 switch 条件下使用 float 不起作用,为什么?

node.js - socket.io服务器可以与非socket.io客户端通信吗

java套接字/输出流写入: do they block?

java - 套接字 Java I/O 的计时问题

C WINAPI recv() 在接收到所有数据之前返回 0

sockets - 在哪些情况下调用 bind() 是必要的?

c - 打印数组中的字符串时出现奇怪的字符?

c - 有什么办法可以输入 "destringify"以便它可以像标识符一样使用吗?