[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:12350] 【質問】このperlスクリプトを実行した結果は?



皆様、こんばんわ。
早速なのですが、次のperlスクリプトを見ていただけますか?
使用しているモジュールは、すべて標準のものですから、Plamo Linuxを標準で
インストールした場合は実行できる‥‥はずなんですが‥‥

  ---------- ここから ----------

#!/usr/local/bin/perl

use IO::Socket;

$socket = IO::Socket::INET->new(
        PeerAddr => '192.168.0.255',
        PeerPort => 2425,
        Proto => 'udp',
        );

$socket->setsockopt(SOL_SOCKET, SO_BROADCAST, 1) || die "$!";
if ( ! $socket ){
        die "接続できませんでした。 $!\n";
}

printf $socket "test";
$socket->close();

  ---------- ここまで ----------


 自分のブロードキャストアドレスに、UDPでメッセージを送るだけの、単純プ
ログラムです。同一LAN上の別PCで2425を開けるプログラムさえあれば、そのす
べてのPCに"test"と表示される‥‥はずです。

 ところが、私の環境では、送信そのものが行われません。

Can't call method "setsockopt" on an undefined value at ./udptest.pl
line 11.

 というメッセージを出して、止まってしまいます。

 上記のブロードキャストアドレスを、実際に使用されているIPに書き換えて実
行すると、そのPCには"test"と表示されるので、スクリプトは間違っていないと
思います。
 また、perlやSocketモジュールの問題かと思い、別所にて質問したところ、そ
の方の環境ではエラーが出ないとのことです。残念ですが、環境を聞くのを忘れ
てしまいましたが‥‥

 そこでお願いと質問なのですが、Plamo Linuxの環境下で、上のスクリプトを
実行した場合、ブロードキャストに送信されますでしょうか?
 されないとしたら、何とかブロードキャストに送信する様にしたいのですが、
調べる方法はありますでしょうか?

 PCはNECの9821Xv13、メモリは32MBです。お勧めインストールを使用しました。
 rc.inet1を見た限りでは、
 PADDR、NETMASK、NETWORK、BROADCAST、GATEWAYの何れも正しく設定されてい
ます。

 よろしくお願いいたします。

--

    =============================================
      株式会社エルピーカンシサービス 関東営業所
      吉川 一浩(Kazuhiro Yoshikawa)
      E-Mail: lpk@aioros.ocn.ne.jp
    =============================================

Follow-Ups
[plamo:12351] Re: 【質問】このperlスクリプトを実行した結果は?, Shun-ichi TAHARA (田原 俊一)

[検索ページ] [メール一覧]
Plamo ML 公開システム