タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

windowsとsocketに関するDEBLOCKINGのブックマーク (2)

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

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

  • WindowsAPI Programming

    WindowsAPI Programming  第3章 〜ソケット通信 その(4) 〜 授業を観たい(Flash版授業:概要 非同期API) III.非同期ソケット通信 これまで説明してきたソケット関数,具体的にはaccept, connect, recv, send, closesocketの各関数は基的にアクションが完了するまで処理が戻ってきません。たとえば、接続先が遠いところにある場合など相手からなかなか応答が来ないとき、関数を呼び出したルーチンはずっとブロックされ、相手側から応答があるか何らかのエラーが検出されない限り何もできなくなる状態になります。こうなるとウィンドウの移動や再描画などのウィンドウメッセージをまったく処理できなくなります(アプリケーションの終了すらできない)。これでは使い易いプログラムとは言えません。これらの関数群はUNIX版のソケット用APIをそのまま

  • 1