タグ

selectとwinsockに関するrbyのブックマーク (1)

  • データの送受信(WSA編)

    Winsockを使用してネットアプリケーションを開発する場合は、 どのような関数を呼び出してブロッキングの問題に対処するかを検討しておく必要があります。 たとえば、前節のサーバープログラムでは、selectを呼び出すことによってacceptとrecvにおけるブロックキングを回避し、 何らかのネットワークイベントが発生したら関数が制御を返すという実装に成功しました。 こうした実装は、WSAEventSelectとWSAWaitForMultipleEventsでも可能であり、 この方法ならばネットワークイベント以外に独自のイベントオブジェクトが変更された場合でも、 関数が制御を返すことができます。 上記の方法に共通しているのは、関数(selectまたはWSAWaitForMultipleEvents)でブロッキングが発生するという関係上、 独自のスレッドを作成してそこで関数を呼び出すという点

  • 1