タグ

networkとunixに関するyokochieのブックマーク (3)

  • 非同期双方向TCPコネクションプールの実装メモ - Blog by Sadayuki Furuhashi

    TCPで、1回接続したコネクションをとっておいて、後で使い回したい。つまりコネクションプールを作りたい。これをどうやるか。4/29のエントリの続きです。 V-FIELDでは、データを待ち受けるときはselect()を使って、溜めてあるソケットに変化があったら、スレッドプールからスレッドを取り出して処理を行う、ということを行っていました。データを送りたいときは普通に溜めてあるソケットを使ってデータを送るのですが、両側から同時にデータが送信される可能性があるので、一度小さなデータをやりとりしてネゴシエーションしてから、実際のデータを送ります。コネクションプールの実装方法としては標準的な方法かな、と思っています。 それが、どうもselect()にはいろいろと問題があるらしいので、今度は違う実装にしたいと思っています。そこで、aio_read()。普通はselect()の次はepollかkqueu

    非同期双方向TCPコネクションプールの実装メモ - Blog by Sadayuki Furuhashi
  • AsyncIOについて(その2) - 最速配信研究会(@yamaz)

    AsyncIOについて(その1)の続き. NONBlockでIO処理をする方法としてselectとシグナルを使う方法があるというのが前回の話だったが, selectはselectよりkqueue,epollで述べたとおり, ビジーループがかかるためあまり効率はよくなく,シグナル方式は制約があるためあまり使い勝手がよくない. というわけで新しく出てきたのがPOSIX Asynchronous I/O(AIO)という機構だ. これはIOのwaitをイベントドリブン形式にしてビジーループをなくそうというものだ. プログラムの流れとしては下記のようになる. 1. 対象となるファイルディスクリプタにシグナルハンドラもしくはイベントハンドラを登録しておく 2. aio_read/aio_writeを呼び出すと制御はすぐにユーザに戻る. 3.対象のファイルディスクリプタの処理が終わると登録されていたハン

    AsyncIOについて(その2) - 最速配信研究会(@yamaz)
  • netstat(1)コマンドの使い方10 | エンタープライズ | マイコミジャーナル

    Guides, HowTos and Tips for Technology Geeks - The Geek Stuff UNIX / Linux: 10 Netstat Command Examples - The Geek Stuffにおいてnetstat(1)コマンドの10の実行サンプルが紹介されている。netstat(1)はルーティング情報やネットワークの接続状況など、ネットワークに関連した情報を出力するためのコマンド。FreeBSDやLinuxなどUnix系OSでネットワークの状況を調査する場合によく利用するコマンドのひとつ。以降に、UNIX / Linux: 10 Netstat Command Examplesで紹介されている内容をFreeBSD 9とUbuntu 9.10向けに調整したものを掲載しておく。Unix系OSでもOSごとに利用するコマンドやオプションが異なる。

  • 1