开发者

Sockets - IPPPROTO_TCP Vs. 0

开发者 https://www.devze.com 2023-03-29 12:56 出处:网络
What\'s the difference under the covers between using: socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); a开发者_C百科nd

What's the difference under the covers between using:

socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

a开发者_C百科nd

socket(AF_INET, SOCK_STREAM, 0);

I had a reason to use a stream socket within an application and was told to use the 2nd one (which I'm guessing is because TCP would be overkill since its in-box and reliable by default). I wasn't quite sure what the socket created with a null final parameter actually was though, so I'm hesitant to use it.


There is no difference. Both will return a TCP socket, because TCP is the default STREAM protocol of INET family.


socket() reference:

Specifying a protocol of 0 causes socket() to use an unspecified default protocol appropriate for the requested socket type.

Default protocol for a stream socket is naturally TCP. So, to answer your question, there is no difference.

0

精彩评论

暂无评论...
验证码 换一张
取 消