[英]Select throwing error WSAENOTSOCK
我面對的問題 :-
當在Win7 Home premium上使用包含IPv6和IPv4套接字的FD_SET集進行調用時,Select(..)API會引發錯誤,但是同一應用程序在其他win7計算機上運行良好。 但是,如果我在FD_SET中僅使用IPv6或IPv4套接字,那么它將運行良好。 所以我認為,系統同時支持IPv6和IPv4。
我嘗試通過下面的鏈接使用服務器:-
http://msdn.microsoft.com/zh-cn/library/windows/desktop/ms738639%28v=vs.85%29.aspx
即使這個樣本也是來自select調用的相同錯誤。
任何人都可以幫助我了解此錯誤的原因並解決此問題。
謝謝!!!
不幸的是,Windows不允許在同一調用select
混合使用來自不同提供程序的套接字。 這是因為允許每個提供程序實現其自己的select
處理程序。
fd_set結構中包含的套接字必須與單個服務提供者關聯。 - 選擇功能
Windows將選擇一個提供程序以將select
發送給該提供程序(我相信集合中第一個套接字的提供程序),並且該提供程序將無法識別其他提供程序的套接字。 老實說,您無論如何都不應該使用select
,它只是為了與BSD套接字接口兼容而提供的。 絕對不是“ Windows方式”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.