タグ

UDPとプログラミングに関するiwwのブックマーク (5)

  • Geekなぺーじ : selectを使う

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

  • Geekなぺーじ : UDPでブロードキャストを使う

    UDPブロードキャスト送信サンプル 何もしない状態のUDPソケットでは、ブロードキャストパケットを送信できません。 setsockopt()を利用してソケットに対してSO_BROADCASTを設定すると、ブロードキャストパケットを送信できるようになります。 この設定を行わずにブロードキャストパケットを送ろうとすると、sendto()が失敗してしまいます。 以下に、setsockopt()をしてからブロードキャストパケットを送信するサンプルを示します。 #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> int main() { int sock; struct sockaddr_in addr; int yes = 1; sock = socket(AF_INET, SOCK_DGRAM, 0); a

  • Perl IP Messenger

    ipmsg.pl - Perl IP Messenger Perl 5 によるネットワークプログラミングの習作として、題材として手軽な IP Messenger を作成しました。IP Messenger は UDP で通信を行ないます。Perl で実装するなら、Socket パッケージの socket, send, recv を使えば、IP Messenger とのやりとりが実現できます。ここで紹介しているソースリストは、習作としては少々複雑になってしまいましたが、IP Messenger プロトコルのほとんどのコマンドを実行できます。 ここでの UDP による通信を Perl で行なう方法については、以下の文献を参考にしました。 斎藤、小山、前田、布施、「新Perlの国へようこそ」、13.10.2 節「UDP」、サイエンス社, 1996. IP Messenger に関しては「IP Me

  • フリーで使えるRTPライブラリ - TECHNERD::INIT

    UCLのライブラリ UCL(University College London)のC言語ライブラリです。 Mboneのツール群で使われているライブラリです。 サンプルなども付いているので比較的使いやすいです。 RFC3550,RFC3551準拠(Obsoletes:RFC1889) http://www-mice.cs.ucl.ac.uk/multimedia/software/common/ これを利用しているアプリケーション Vic ビデオ会議ツール http://mediatools.cs.ucl.ac.uk/nets/mmedia/wiki/VicWiki Rat 音声伝送システム http://mediatools.cs.ucl.ac.uk/nets/mmedia/wiki/RatWiki SRTPのライブラリ RFC3711で提案されているSecure Real-time Tr

    フリーで使えるRTPライブラリ - TECHNERD::INIT
  • 株式会社アンタス - 次の時代のマーケティングテクノロジーを

    年末年始休業のお知らせ お客様各位 毎度格別のご愛顧をうけ賜りありがとうございます。 誠に勝手ながら下記日程で休業とさせていただ... NEWS アンタスのエンジニア 異業種からの転職4 エンジニア紹介 塾講師として理系の受験生のために尽力してきた鶴谷君。前職でWEBシステムに携わったことがき... BLOG

    株式会社アンタス - 次の時代のマーケティングテクノロジーを
    iww
    iww 2014/01/23
    『UDPだとsetsockoptでSO_REUSEADDRをセットすると 複数プロセスで同一ポートを待ち受ける』 知らなかった
  • 1