使用ProtocolType.IP和ProtocolType.Tcp有什么区别

时间:2010-03-17 10:32:58

标签: c# .net sockets

我刚回答problem with sockets in c#在我的示例代码中我使用ProtocolType.IP初始化我的套接字,因为这是我在自己的代码中一直使用的东西,它从来没有给我带来任何问题。但我看到许多指定ProtocolType.Tcp的示例。

我想,我要问的是,使用ProtocolType.IP代替ProtocolType.Tcp,我应该注意哪些内容的执行方式不同?

2 个答案:

答案 0 :(得分:1)

我猜想ProtocolType.IP打开一个“raw IP”套接字,换句话说它只是将原始字节作为IP数据包喷射到网络上,而不是通过TCP或UDP协议层。

与TCP相比,您无法保证数据包的传输,数据包可能无序到达和/或数据包可能会重复。 TCP将所有这些作为其协议的一部分处理。

对于几乎所有目的,我希望您应该使用ProtocolType.TcpProtocolType.Udp,除非您正在编写自己的传输协议的一些低级网络。

答案 1 :(得分:0)

点击此链接:http://www.allinterview.com/showanswers/1447.html

  

TCP / IP是协议套件,意思是它   是协议的组合   与TCP和IP有关。 TCP是一个   传输层协议,而IP是   网络层协议。 TCP是一个   面向连接的协议和IP是   无连接协议

希望有所帮助