エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
ノンブロッキングソケット:Geekなぺーじ
ノンブロッキングでUDPパケットの受信を待つサンプル 通常設定では、recv関数はデータが届くまでブロッ... ノンブロッキングでUDPパケットの受信を待つサンプル 通常設定では、recv関数はデータが届くまでブロッキングします。 複数のソケットを扱うプログラムや、その他入力と併用するようなプログラムではブロックさせずにrecv関数を使いたい場合があります。 Linuxでは、ioctl関数にFIONBIOを渡すことにより、ブロッキング/ノンブロッキングの設定を行えます。 ノンブロッキング状態に設定したソケットでデータが無い時にrecv(もしくはread,recvfrom)を行うとrecv関数はエラーを返します。 recvがエラーを返した時のerrnoの値がEAGAINである場合には、ただ単にデータが無いという事をあらわしています。 errnoは、int errnoとして宣言されているグローバル変数です。 エラーが発生した時にエラー内容を知らせる値がセットされます。 下記サンプルでは、データが無いとき