|
>>2265 武田一浩 broadcast するときは、socket option の設定 $socket->setsockopt(SOL_SOCKET, SO_BROADCAST, 1) || die "$!"; が必要です。 IO::Socket じゃなくて普通の Socket モジュールを使うなら setsockopt($socket, SOL_SOCKET, SO_BROADCAST, 1) || die "$!"; ですね (これは IO::Socket で生成したソケットに対しても有効です)。 ただ、こちらで試した限りでは、 > 接続できませんでした。 不正なファイルデスクリプタです というエラーは出ませんでした。if ( ! $socket ) でエラー になっているということは、何か別の原因があるような気がします。 ちなみに printf $socket "1:%d:name:hostname:%d:ext\0group", time(), 0x1; で参加通知です。 |
|
No. 2266 # 68user さん、リプライありがとうございます。 次の様に修正してみました。 #!/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(); 結果は、 Can't call method "setsockopt" on an undefined value at ./udptest.pl line 11. でやはり駄目でした。 192.168.0.255のアドレスを、特定のPCのIPに設定すると、そのPCにはtestの表示が出ますから、スクリプトそのものにはエラーがないのだと思いますが、なぜか私の環境ではブロードキャストアドレスが使用できない(?)のではないかと思います。 とりあえず、Perlやスクリプトには異常がなさそうなので、Plamo Linux のMLにでも質問をあげてみることにします。 ありがとうございました。 |
|
・・ <% strPathName = "HTTP://××/××/××/○○○.xls %> <a href=<% =strPathName%> ><% = strData(cnt)(0)%></a> ・・ </html> 上記のようにリンクしたいパス名を設定しました。 やりたいことは、 既存のダイアログ『ファイルのダウンロード画面 次の場所からファイルをダウンロードするように選択しました』 を表示させてからExcelを表示したいのですがどうしたらいいですか? 現象として、 すぐにExcelが表示されてしまいます。 |