我刚刚回答了problem with sockets in c#,在我的示例代码中,我使用ProtocolType.IP初始化套接字,因为这是我在自己的代码中一直使用的,而且它从来没有给我带来过问题。但是我看到了很多指定ProtocolType.Tcp的例子。
我想,我想问的是,通过使用ProtocolType.IP而不是ProtocolType.Tcp,我应该意识到在幕后有什么不同的执行方式吗?
发布于 2010-03-17 18:56:21
我猜测ProtocolType.IP打开了一个"raw IP“套接字,换句话说,它只是将原始字节作为IP数据包喷到网络上,而不是通过TCP或UDP协议层。
与TCP相比,您将得不到包的保证交付,包可能无序到达和/或包可能被复制。TCP将所有这些都作为其协议的一部分来处理。
对于几乎所有的目的,我都希望您使用ProtocolType.Tcp或ProtocolType.Udp,除非您正在做一些底层的网络工作,编写您自己的传输协议。
发布于 2010-03-17 18:41:30
请查看此链接:http://www.allinterview.com/showanswers/1447.html
TCP是一个协议族,是与
相关的协议和IP的组合。TCP是传输层协议,而IP是网络层协议。TCP是面向连接的协议,IP是无连接协议
希望能有所帮助
https://stackoverflow.com/questions/2461464
复制相似问题