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(重疊輸入/輸出機制),聽說能夠提供「最高」的性能。網絡