我刚回答problem with sockets in c#在我的示例代码中我使用ProtocolType.IP
初始化我的套接字,因为这是我在自己的代码中一直使用的东西,它从来没有给我带来任何问题。但我看到许多指定ProtocolType.Tcp
的示例。
我想,我要问的是,使用ProtocolType.IP
代替ProtocolType.Tcp
,我应该注意哪些内容的执行方式不同?
答案 0 :(得分:1)
我猜想ProtocolType.IP
打开一个“raw IP”套接字,换句话说它只是将原始字节作为IP数据包喷射到网络上,而不是通过TCP或UDP协议层。
与TCP相比,您无法保证数据包的传输,数据包可能无序到达和/或数据包可能会重复。 TCP将所有这些作为其协议的一部分处理。
对于几乎所有目的,我希望您应该使用ProtocolType.Tcp
或ProtocolType.Udp
,除非您正在编写自己的传输协议的一些低级网络。
答案 1 :(得分:0)
点击此链接:http://www.allinterview.com/showanswers/1447.html
TCP / IP是协议套件,意思是它 是协议的组合 与TCP和IP有关。 TCP是一个 传输层协议,而IP是 网络层协议。 TCP是一个 面向连接的协议和IP是 无连接协议
希望有所帮助