Server
Menuserver6.pl client6.pl を動かしてみる。
perl client6.pl nirai.ie.u-ryukyu.ac.jpの用に使用する(telnet でも接続できるはず)と、server6.pl 側では、
server6.pl 4402: connection from nwxx15.st.ie.u-ryukyu.ac.jp [ 133.13.xx.xxx ] at port 60499 at Tue Jan 13 14:39:53 2009 from nwxx15.st.ie.u-ryukyu.ac.jp: Messageのように表示される。
ifconfig en0/en1/eth0 で、IPv4, IPv6 アドレスを確認して、どのアドレスで接続可能かを調べてみる。自分のPCに正しく、IPv6 アドレスは割り振られているだろうか?
IPv4 と IPv6 の両方で接続できることを確認せよ。
簡単なアクセスカウンター (何回アクセスしたかを数える) を付けて見よ。
変更前のプログラムと変更後のプログラムを Mercurial に登録し、repositoryを明示せよ。
bufferring を避けるために、syswrite/sysread を使う。
他のマシン上、他のユーザのserverにリクエストを送ってどのように実行されるかを調べよ。
Option
また、このプログラムでは、low level な Socket を使っている。 IO::Socket ( とか IO::Socket::IP を使用するようにプログラムを変更せよ。https://metacpan.org/pod/IO::Socket::IPこのプログラムの C / Ruby / Python / Java 版を作ってみよう。
Perlのversionと相互に通信できることを確認せよ。message は UTF-8 で通信するようにプログラムせよ。
昔の話
このPerl Script は、Socket6.pm を使っているので、これをinstallする必要がある。sudo epkg install perl /usr/local/bin/perl client6.pl "Message" nirai.ie.u-ryukyu.ac.jpなどとする。
それで動作しない場合は、cpan 経由でinstall する
sudo /usr/local/bin/cpan install Socket6ぐらいでinstall できる。