IPv4/IPv6 TCP Server
Menuhttps://gitlab.ie.u-ryukyu.ac.jp/teacher/kono/getaddr.git を動かしてみる。
getaddr
getaddr.pl (または、それに相当するAPI) を用いて、コンピュータが使用可能なアドレスをすべて取得するプログラムを作成せよ。その結果を、ifconfig の出力と比較せよ。
Server and client
perl server.pl perl client.pl nirai.ie.u-ryukyu.ac.jpの用に使用すると、server.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のように表示される。
ip a または ifconfig en0/en1/eth0 で、IPv4, IPv6 アドレスを確認して、どのアドレスで接続可能かを調べてみる。自分のPCに正しく、IPv6 アドレスは割り振られているだろうか?
IPv4 と IPv6 の両方で接続できることを確認せよ。
簡単なアクセスカウンター (何回アクセスしたかを数える) を付けて見よ。
変更前のプログラムと変更後のプログラムを git に登録し、repositoryを明示せよ。
他のマシン上、他のユーザのserverにリクエストを送ってどのように実行されるかを調べよ。
Option
このプログラムの go lang / Rust / Ruby / Python / Java / C 版を作ってみよう。Perlのversionと相互に通信できることを確認せよ。message は UTF-8 で通信するようにプログラムせよ。