我想知道来自.Net的Socket.Select是否可以返回两个或更多元素的IList。到目前为止,在我的测试中,它们总是返回一个元素(Socket.Select在一个循环中)。我可以知道你做了什么样的测试才能返回两个或更多元素吗?
答案 0 :(得分:0)
此处使用“可读”示例,但它也适用于其他IList
参数(“可写”,“有错误”):
Socket.Select
就会返回。这意味着如果您在数据到达多个套接字之前输入Socket.Select
,它通常会在只有一个套接字有可用数据时返回(如果您这样想,为什么它会等待另一个有数据可用? )。
要尝试多个套接字可以读取的情况,您只需在Thread.Sleep
之前添加Socket.Select
,并且有足够大的延迟,以允许两个发送进程同时发送其数据。