我刚看到这个奇怪的东西,我看到应用程序是默认情况下他们使用的SOCK_STREAM功能.为什么会这样?这SOCK_STREAM只是创建多个流吗?或者它是SOCK_STREAM可用于创建TCP流的标准功能?
我认为海啸基于UDP,但仍然具有TCP的一些功能,例如TCP公平性,友好性等.
有人可以就这个问题说清楚吗?我完全对此感到困惑.
什么时候需要IPPROTO_UDP?
有没有UDP 不是 SOCK_DGRAM的默认协议?(真实案例,不是假设"它可能是",请")
即,以下两行不会产生相同行为的情况是什么?
if ((s=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP))==-1)
if ((s=socket(AF_INET, SOCK_DGRAM, 0))==-1)
Run Code Online (Sandbox Code Playgroud) 谁能解释或给我一个定义,IPPROTO_IP并帮助我理解IPPROTO_IP和之间有什么区别IPPROTO_RAW?
使用以下方法有什么区别:
socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
Run Code Online (Sandbox Code Playgroud)
和
socket(AF_INET, SOCK_STREAM, 0);
Run Code Online (Sandbox Code Playgroud)
我有一个在应用程序中使用流套接字的理由,并被告知使用第二个(我猜这是因为 TCP 是内置的,默认情况下是可靠的)。我不太确定使用 null 最终参数创建的套接字实际上是什么,所以我对使用它犹豫不决。