谁能详细的介绍一下SocketType 枚举?
Stream 支持可靠、双向、基于连接的字节流,而不重复数据,也不保留边界。此类型的 Socket 与单个对方主机进行通信,并且在通信开始之前需要远程主机连接。Stream 使用传输控制协议 (Tcp) ProtocolType 和 InterNetworkAddressFamily。
Dgram 支持数据报,即最大长度固定(通常很小)的无连接、不可靠消息。消息可能会丢失或重复并可能在到达时不按顺序排列。Dgram 类型的 Socket 在发送和接收数据之前不需要任何连接,并且可以与多个对方主机进行通信。Dgram 使用数据报协议 (Udp) 和 InterNetworkAddressFamily。
Raw 支持对基础传输协议的访问。通过使用 SocketTypeRaw,可以使用 Internet 控制消息协议 (Icmp) 和 Internet 组管理协议 (Igmp) 这样的协议来进行通信。在发送时,您的应用程序必须提供完整的 IP 标头。所接收的数据报在返回时会保持其 IP 标头和选项不变。
Rdm 支持无连接、面向消息、以可靠方式发送的消息,并保留数据中的消息边界。RDM(以可靠方式发送的消息)消息会依次到达,不会重复。此外,如果消息丢失,将会通知发送方。如果使用 Rdm 初始化 Socket,则在发送和接收数据之前无需建立远程主机连接。利用 Rdm,您可以与多个对方主机进行通信。
Seqpacket 在网络上提供排序字节流的面向连接且可靠的双向传输。Seqpacket 不重复数据,它在数据流中保留边界。Seqpacket 类型的 Socket 与单个对方主机通信,并且在通信开始之前需要建立远程主机连接。
Unknown 指定未知的 Socket 类型。
注意:
SocketType 有时会隐式指示在 AddressFamily 中使用哪个 ProtocolType。例如,当 SocketType 为 Dgram 时,ProtocolType 始终为 Udp。当 SocketType 为 Stream 时,ProtocolType 始终为 Tcp。如果试图使用不兼容的组合创建 Socket,则 Socket 将引发 SocketException。
请问RDM和Seqpacket使用什么协议?TCP吗?如果是的话,MSDN中说会保留边界,即不会出现沾包的问题,那么使用它们的话可以吗?这和Stream有什么区别呢?
相关推荐
Android代码-jeromq
JeroMQ Pure Java implementation of libzmq (http://zeromq.org). Features Based on libzmq 4.1.7. ZMTP/3.0 (http://rfc.zeromq.org/spec:23). tcp:// protocol and inproc:// is compatible with zeromq. ipc:// protocol works only between jeromq (uses tcp://127.0.0.1:port internally). Securities PLAIN. CURVE. Performance that's not too bad, compared to native libzmq. 4.5M messages (100B) per sec. Performance. Exactly same developer experience with zeromq and jzmq. Unsupported ipc
C#_Socket编程详细说明
C#_Socket编程详细说明,用于C#进行 服务端与客户端网络通讯开发
最基本的Socket编程_C#版.doc
最基本的Socket编程_C#版,用一段典型代码,示范了Socket编程的C#实现步骤.很好的入门示范.
C#网络编程-socket类介绍
让你更了解c#网络编程~~~~~欢迎下载,有效文件,思路清晰~~
C#socket编程 超详细
C#socket编程 包括同步和异步的实例 手把手教你一步一步从最开始的学习,对新手那是天衣无缝的教学材料。真的哥不骗你们


