タグ

UDPとLinuxに関するiwwのブックマーク (3)

  • Geekなぺーじ : selectを使う

    普通の状態では、readやrecvfromはデータが受信できるまでブロッキングします。 ソケットを一つしか利用していない場合にはブロッキングは非常に便利なのですが、ソケットが複数になると困ってしまいます。 複数のソケットを扱うとき、片方のソケットでブロッキングしたままになってしまうと他のソケットにデータが到着しても受信が出来なくなってしまいます。 そのため、複数のソケットを扱っていると、どのソケットからデータが受信可能か知りたくなります。 ブロッキングとは、関数が返ってこない事を表します。 例えば、readはデータを受信して関数が戻ってきます。 言い方を変えると、データを受信するまでブロックしています。 readやrecvfromをブロッキングしないノンブロッキング方式で使う事も可能ですが、ここではブロッキング方式のまま使う方法を説明します。 そのような機能を提供するのがselectです。

  • Red Hat Enterprise Linux 7.1でもssコマンドは腐っているので使い物にならない - ろば電子が詰まつてゐる

    以前、CentOS 7 (7.0.1406)およびRed Hat Enterprise Linux 7のssコマンドが腐っていたことにビックリして、「ssコマンドはバグと地雷の塊なのでnetstatの代わりにならない」という記事を書きました。 これはどういうお話かと言うと: RHEL 7からはnetstatコマンドなどが収録されているnet-toolsパッケージが非推奨となり、デフォルトではインストールすらされなくなりました。 しかしnetstatコマンドの代替であるssコマンドはかなり雑な感じで、UDPポートを「tcp」と表示するひどいバグがあります というお話でした。 このssコマンドのバグは、2014年2月にRed Hat Bugzillaにも上がっていました。 https://bugzilla.redhat.com/show_bug.cgi?id=1063927 というわけで、さす

    Red Hat Enterprise Linux 7.1でもssコマンドは腐っているので使い物にならない - ろば電子が詰まつてゐる
  • socat - ソケットリレーツール (proxy) - Tomorrow is always fresh with no mistake in it.@備忘録

    SCTPという、TCPとUDPのよいとこ取りをしたようなプロトコルがある。「SCTP(ネットワーク通信)」に書いたとおり、echoサーバを作成したが、動作確認のためにクライアントが必要になった。 telnetなどのTCP用のツールは使えないので、クライアントのプログラムも作成したが、もっと簡単にためせるツールがないかと思っていたら、「socat」というコマンドを見つけた。 netcat(nc)(「netcat - ネットワーク万能ツール」を参照)をさらに機能強化して、これでもかというくらいいろいろオプションが指定できるようになっている。 あろうことかnetcatでは封印されているコマンドの実行も可能になっている。

    socat - ソケットリレーツール (proxy) - Tomorrow is always fresh with no mistake in it.@備忘録
  • 1