68user's page 掲示板

Prev< No. 1903〜1908> Next  [最新発言に戻る] [過去ログ一覧]
No. 1903 # しの 2001/04/21 (土) 04:29:07
はじめまして。
Perlのネットワークプログラムについての質問なのですが、

あるサーバからあるサーバへデータをそのまま送るだけなのですが、
        while (<$sock_recv>){
                print $sock_send $_;
        }
このときに受信側がユーザー操作によって受信をキャンセルされると、
>Can't use an undefined value as a symbol reference at ./test.pl line 46, <CLIENT> chunk 8322.
と、エラーが出てプログラムが強制終了してしまいます。
強制終了せずに、受信側の受信キャンセルを検出する方法がありましたら
是非おしえてください。よろしくお願いします。

No. 1904 # くみ [E-mail] 2001/04/22 (日) 00:43:44
sendmaiを使用して2カ所にメールを送るにはどうすれば良いのでしょうか?
open 〜 close を2度記述してもダメなのでしょうか。1度の記述だと正常に処理できるのですが2度の記述ですとうまくいきません。宜しくお願い致します、

open(MAIL, "| /usr/sbin/sendmail -t");
        ・〜・
close(MAIL);

No. 1905 # 68user 2001/04/22 (日) 01:39:33
>>1898 ふくし
samba を使っていませんか? よく知りませんが samba はファイルを
読み込み禁止でロックしっぱなし (?) にするようで、そのとき
ファイルを読もうとすると「Text file busy」となります。もし
そうなら http://www.samba.gr.jp で検索すると解決策が見つかると
思います。

もし NFS しか使っていないなら、解決策はわかりません。

>>1903 しの
print したデータを受け取る先のプロセスがいないと、print した
側には SIGPIPE が飛んできます。シグナルハンドラを設定して、
適切なエラー処理を行いましょう。

>>1904 くみ
> open 〜 close を2度記述してもダメなのでしょうか。
それでもよいですし、2箇所に送ったことが相手先に知られても
いいなら、
    print MAIL "To: foo@hoge, bar@fuga\n";
でもいいです。

No. 1906 # 68user 2001/04/22 (日) 04:05:42
「ネットワークプログラミングの基礎知識」
    http://X68000.startshop.co.jp/~68user/net/
を CVS に追加しました。
    http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/net/

$Id:$ を挿入しまくったので、もしソースと解説の行番号がずれて
いるかもしれません。見つけられた方はご指摘いただけると幸いです。

No. 1907 # くみ 2001/04/22 (日) 18:57:46
2カ所への送信はうまくいきました、有り難う御座いました。
ところが
またまたしつもんです。sendmailで指定する件名が送信先によって文字化けしてしまいます。日本語文字コードによるものでしょうが、対策は具体的にどのようにしたらよいのでしょうか。
$sb='あいうえお';
print MAIL "Subject: $sb\n";

No. 1908 # 68user 2001/04/22 (日) 19:28:28
>>1907 くみ
MIME encode する必要があります。
    http://X68000.startshop.co.jp/~68user/webcgi/mail-2.html#2
をどうぞ。

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