套接字 - IPPPROTO_TCP Vs. 0

时间:2011-08-19 13:12:56

标签: c++ c sockets unix

使用之间有何不同之处:

socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

socket(AF_INET, SOCK_STREAM, 0);

我有理由在应用程序中使用流套接字,并被告知要使用第二个(我猜测是因为TCP内置并且默认情况下可靠,因此TCP会过度杀伤)。我不太确定使用null final参数创建的套接字实际上是什么,所以我对使用它犹豫不决。

2 个答案:

答案 0 :(得分:4)

没有区别。两者都将返回TCP套接字,因为TCP是INET系列的默认STREAM协议。

答案 1 :(得分:3)

socket() reference:

  

指定协议为0会导致 socket ()使用未指定的   适用于请求的套接字类型的默认协议。

流套接字的默认协议自然是TCP。所以,回答你的问题,没有区别。