recv()
recv()ってsend()からの情報がくるまで待つんだっけ? まぁ、多分待つと思うけど。 確認とっとこ。 ※調査結果 やっぱり待つらしい。 ちなみに、サーバでsend()を10連発した後、クライアントでrecv()を1…
recv()ってsend()からの情報がくるまで待つんだっけ? まぁ、多分待つと思うけど。 確認とっとこ。 ※調査結果 やっぱり待つらしい。 ちなみに、サーバでsend()を10連発した後、クライアントでrecv()を1…
画面表示用にさー、キー入力を受け付けたいときってあるじゃないっすか。 んで、そういう場合っていちいちEnterを押して確定させる手間が面倒くさいのね。 Visual C++だと非標準関数として、getch()っつー便利な…
上記のような式でのcontinueはwhile文の先頭に戻る。switch文の先頭に戻るわけじゃないので注意。
fd_set構造体の定義をどのヘッダファイルで行っているか知りたい。 定義をみて、どんなメンバ変数があるか確認しろ。 sys/select.hとかが怪しいね。うん。
サーバが一つ以上のソケットへの接続を待つとき、特定のソケットに対してacceptを実行すると待ち状態になってしまい、他のソケットへの接続を受け取れなくなる。acceptの代わりにselectを使うと、この状態を回避できる…
nready=select(maxsd+1,&tfds,NULL,NULL,&timeout); tfdsに登録されたディスクリプタをtimeout時間監視し、読み込み可能状態になっているディスクリプタの…
クライアントからの接続待ち状態のことをブロックと呼ぶ。 acceptシステムコールを呼び出すと、ブロック状態になる。
子プロセス終了直後に別の端末からの接続要求(connect)が来ると失敗する事がある。 ので、子プロセス終了直後にサーバ側でsleep()などで数秒のウェイトをした後に、selectやacceptを実行する必要がある。
クライアント・サーバ間の大まかな処理の流れは以下の通り ■サーバ側 1. socket() によりソケットを開く 2. bind() により、コネクションを受けつけるIPアドレス・ポート番号を ソケットと対応づける 3….
GNUのC言語ってANSI Cの拡張なんかな・・・。 なんか、知らない関数や構造体がバンバンでてくるんだけど・・・。 見やすいリファレンスがないと、正直きつい。 うーん、調査調査。 ※追記 調べた結果、ANSI C準拠ら…
最近のコメント