2011-08-19 18 views
0

什么用的被子下的区别:套接字 - IPPPROTO_TCP比。 0

socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); 

socket(AF_INET, SOCK_STREAM, 0); 

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

+2

也许这[后] [1]有帮助。 [1]:http://stackoverflow.com/questions/5385312/ipproto-ip-vs-ipproto-tcp-ipproto-udp – Simon

回答

4

没有区别。两者都会返回一个TCP套接字,因为TCP是INET家族的默认STREAM协议。

3

socket() reference:

指定协议0的原因插座()以使用适合于所请求的插座类型未指定的 默认协议。

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