68user's page 掲示板

Prev< No. 2265> Next  [最新発言に戻る] [過去ログ一覧]
No. 2265 # 武田一浩 2001/11/14 (水) 15:57:05
    はじめまして。教えていただきたいことがあります。
    こちらを参考に、perlのネットワークプログラムを作りたいと思っています。OSはPlamo Linux、perlは5.005です。

    やりたいのはローカルネットワーク上に、ブロードキャストでメッセージを送って、ポートを開いている全部のコンピュータがそのメッセージを受信するというものです。
    試験として

#!/usr/local/bin/perl

use IO::Socket;

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

if ( ! $socket ){
        die "接続できませんでした。 $!\n";
}

        print $socket "test";
        $socket->flush();


$socket->close();

    と、いうのを動かしてみました。ブロードキャストである192.168.0.255ですから、2425でポートを開いている他のPC(VBのwinsockを使いました)にtestが表示されるかと思ったのですが、

> 接続できませんでした。 不正なファイルデスクリプタです

というエラーが返って来てしまいます。
このエラー、192.268.0.3の様にIPを指定すると、出現しません。

    いろいろとサーチエンジンなどもあたったのですが、どうしてもこの原因がつかめず、困っています。
    perlを使って、udpとブロードキャストアドレスでネットワーク通信されている方がいらしたら、ブロードキャストアドレスをどうやって指定しているか、教えていただけませんでしょうか?
    よろしくお願いいたします。

Prev< No. 2265> Next  [最新発言に戻る] [過去ログ一覧]