From: Hiroshi Saito Date: 2000-09-26T02:03:43+09:00 Subject: [ruby-list:25170] Re: UDPsocket#send でエラー サイトウです。 神戸さん、御返事ありがとうございます。 On Tue, 26 Sep 2000 00:39:42 +0900 Takahiro Kambe wrote: > > udp.setsockopt( SOL_SOCKET, SO_BROADCAST|SO_DEBUG, 1 ) だと > > udptest.rb:9:in `send': Permission denied - sendto(2) (Errno::EACCES) > > になります。 > > > > broadcastにデータグラムを送る権限をとれていないよう > > なのですが、具体的にはどういった原因と解決方法が > > あるのでしょうか? > 伝統的なBSDのソケットではブロードキャストを送るためにはスーパー・ユー > ザ権限が必要なのですが、それとは関係ないんですよね? そのエラーの発生するマシンは事務所のマシンなので、現在確認することは できませんが、スーパーユーザによる実行でもダメだったと思います。 動いている方では普通のユーザー実行してもでエラーは発生していません。 最初のメール以降いろいろ調べてみたところエラーの発生するマシンと ちゃんと動くマシンとの間に以下のような差異を発見しました。 エラーの発生するLinuxマシン 発生しないLinuxマシン ---------------------------------------------------------- DHCPクライアント 固定IPアドレス ifconfigの出力で、 NOTRALIERS と表示される 表示されない (もしかしたら逆かもしれません) それで、私は何を作りたかったかと言うと、 [ruby-list:24906] Re: UDPSocketの送信元ポート番号の指定 でも触れていますが、 IpMessengerというソフト用のサーバーを書いていたのです。 http://www.din.or.jp/~saitoke/ipmsgd/ (IpMessengerの起動していないユーザーへのメッセージを保留して、 起動時に転送する) IpMessengerをお使いの方は是非お験しを。 ----------------------------------- サイトウ ヒロシ HiroshiSaito@pob.org