金旭亮老师的Scoekt编程摘要

    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(重叠输入/输出机制),据说可以提供“最高”的性能。

原文地址:https://www.cnblogs.com/frustrate2/p/3412820.html