前へ << POP3 クライアントを作ってみよう(3) | echo サーバを作ってみよう (2) >> 次へ |
サーバとは特定のポートを見張っているプログラムのことです。 クライアントが connect してくるまでは、仕事はポートを見張ることしかありません (別に何か仕事をしていてもいいのですが)。クライアントが connect してきたら、プロトコルに従ってお話して、クライアントが望むサービスを 提供します (もちろん変な要求をしてきたらそれに応じてはいけません)。
ここでは簡単なサーバを作ってみましょう。
echo 7/tcpとあるようにポート番号は7です。FreeBSD の場合、echod というサーバは 存在せず、inetd の内部に echo サーバが組み込まれています。デフォルトの /etc/inetd.conf は
#echo stream tcp nowait root internalとコメントアウトされており、echo ポート(ポート番号7)にアクセスしても inetd は反応してくれません。そこで root になって、
echo stream tcp nowait root internalと先頭の「#」をはずして、
# killall -HUP inetdとして inetd の再起動をしてください。では telnet で確かめてみましょう。
% telnet localhost echo Trying 127.0.0.1... flushoutput character is 'off'. Connected to localhost. Escape character is '^]'. hoge hoge fuga fuga ^](Ctrlを押しながら ]) telnet> quit Connection closed.タイプした文字がそのまま返されますね。 これが echo プロトコルの仕組みです。 これと同じ働きをするサーバを作ってみましょう。
前へ << POP3 クライアントを作ってみよう(3) | echo サーバを作ってみよう (2) >> 次へ |
ご意見・ご指摘は Twitter: @68user までお願いします。