2012-10-26 80 views
0

ALL, 我正在尋找一個在Windows上運行的非阻塞套接字連接的簡單示例。 我試過谷歌,但所有樣本都是* nix(POSIX)或Windows上的阻塞套接字。非阻塞套接字客戶端連接

尋找通過msdn我看到很容易使一個套接字非阻塞和發出connect(),但然後你需要一些準備,以便把套接字回來。

所以,總而言之,我需要一個非阻塞套接字上的東西,它將連接,然後將其重新阻塞。 讀寫操作應該在阻塞套接字上執行。

非阻塞套接字的原因是我需要連接超時,沒有其他方法比非阻塞套接字。或者在那裏?

謝謝。

+0

這不是唯一的方法。你也可以在另一個線程中運行'connect'操作。然後,只要你喜歡,你可以等待或不等待,但不管你喜歡什麼。 –

+0

@DavidSchwartz,很好的解決方案,但不適合我。 ;-)我試圖在同一時間連接不同的設備,每個設備都將在它自己的線程上。如果我會產生一個線程來連接任何會在我之後看代碼的人將會丟失。我可能會迷失自我。除了項目目標OS是Linux(甚至可能是QNX - 實時)。 Winidows將僅用於演示。謝謝。 – Igor

+0

如果連接將在自己的線程上,爲什麼沒有那個線程只做連接操作呢? –

回答

0

使用ACEsocket wrapper facade並全面應用您的Linux知識。

+0

感謝您的回答。不幸的是,我更喜歡使用本地解決方案,沒有任何額外的庫此外,它可能沒有兼容許可證。 – Igor

+0

@Igor - 只需下載它,看看它如何在Windows上封裝套接字IO,不一定使用它 – bobah