2010-07-20 37 views
0

不知道.Net中的Socket.Select是否可以返回兩個或多個元素的IList。到目前爲止,在我的測試中,它們總是返回一個元素(Socket.Select位於循環內)。我可否知道你做了什麼樣的測試來返回兩個或更多元素?C#socket.select是否可以返回多個套接字

+0

Socket.Select什麼也沒有返回(void)我不明白你的問題,你能澄清一下嗎? – Cipi 2010-07-20 11:33:44

+0

Socket.Select修改IList參數並返回具有讀/寫/錯誤事件的套接字。對困惑感到抱歉。 – yoitsfrancis 2010-07-20 14:31:00

回答

0

使用這裏「可以閱讀」的例子,但它適用於其它IList參數(「可寫」,「有錯誤」),以及:

Socket.Select回報,只要所提供的插槽中有數據可供閱讀。這意味着如果在數據到達多個套接字之前輸入Socket.Select,它通常會在只有一個套接字有數據可用時返回(如果您這樣想,爲什麼要等待另一個套接字有數據?)。

要嘗試多個套接字可以讀取的情況,您可以在Socket.Select之前簡單地添加一個Thread.Sleep,使其具有足夠的延遲以允許兩個發送進程同時發送其數據。

相關問題