Socket提供了众多的属性,还提供了SetSocketOption方法来设置各类选项,对.NET网络应用程序的数据通信进行“微调”。
Socket的功能出奇地强大,在.NET平台上,它支持如下四种典型的编程模式:编程
(1) 居于阻塞模式的Socket编程(单线程或多线程的),每一个线程处理一个客户端链接
(2)“非阻塞”模式的Socket编程,这是早期UNIX为提高网络应用程序性能而采用的编程模式,出于兼容和方便移植原有程序的目的而保留,建议新开发的.NET网络程序不要再使用。
(3) 使用IAsyncResult的异步编程模式:Socket类提供有一堆的“BeginXXX/EndXXX”方法实现异步Socket编程,使用线程池中的线程完成工做,性能较好。
(4) 使用EAP的异步编程模式:Socket类提供了“另外一堆”以“Async”结尾的方法,在底层使用Windows操做系统的Completion Port(完成端口)和Overlapped I/O mechanism(重叠输入/输出机制),听说能够提供“最高”的性能。网络