From: matz@... (Yukihiro Matsumoto) Date: 1998-01-13T18:44:12+09:00 Subject: [ruby-list:5874] Re: Are there any sample programs for UDP socket ? まつもと ゆきひろです In message "[ruby-list:5873] Are there any sample programs for UDP socket ?" on 98/01/13, Toshihiko SHIMOKAWA / 下川俊彦 writes: |さて UDP を使ったプログラムを作ろうと思っているのですが、ruby でのやり方 |がよく分かりません。ちなみに C でのソケットプログラムの経験はあります。 さて,まずいくつかの点で謝罪した方がよいような気がします. 1. UDPソケット専用のクラスはまだありません.Socketクラスで Cとほとんど同じようにぽちぽちプログラムするしかないです. 面倒ですね.Rubyらしくないですね.その通りです.ごめん なさい. 2. C言語でシステムコールのsendを使ったことがありますか? Rubyのsendは基本的にシステムコールのsend/sendtoと同じで す.ただし,以下の点が違います. * sendtoのアドレスはpackした構造体を使います. * Rubyの文字列は長さを知っていますからmsg,lenの代わ りに文字列1つを使います. 3. send(2)というのはUNIXのmanのsection 2(システムコール)の 項目と言う意味です.説明が少なくてごめんなさい. 4. なによりRubyでUDPプログラミングをしたことのあるひとがい ません.バグがあるかも. 5. ちょっと今日は忙しいので(これから帰ってしまいます),サ ンプルは明日以降になります.今晩時間があれば作ってみま すので(Gtkがうまく行けば ^^;;;),もしかしたら明日か明後 日にはサンプルを出せると思います.多分,パッチも.^^;;; |しかし send の使い方がよくわかりません。第一引数 mesg の型はなんでしょう |か? 第二引数 flags については send(2) を参照とあるのです、これは整数値だ |と予想しています。最後の to もよくわかりません。connect メソッドと同じ引 |数かな? と予想してみたものの pack されたソケットアドレス構造体の作り方が |分かりませんでした。 まず,UDPプログラミングの経験があればそんなに難しくはないで しょう.問題はやはり洗練されていないことと,使い込まれていな いことですね.では,後程. まつもと ゆきひろ /:|)