このページは過去に掲載していたものをそのまま使用しています。

[title] sather!
トップページ
Socketプログラミング

Valid XHTML 1.0!

 

Socketことはじめ

Satherでは、アプリケーション寄りにカプセル化されたクラスを 実装しているために、Socketプログラミングはそれほど難しいものでは なくなっています。

echoクライアント

echoサービスに接続するためのクライアントです。 Socketクラスのデフォルトの実装では/usr/include/netinet/in.hで "#define IPPORT_RESERVED 1024"されている数値以下の ポートにはクライアントもサーバーも接続できません。 ユーザーが作成したサーバーが不用意に接続しないための仕組みであれば 意味もあるのですが、一律にクライアントも含めて1024番以下のポートに 接続できないのでSOCKETクラスを継承するサブクラスを作成しています。

  • サンプル: Echo.sa
  • コンパイル: "$ sacomp -main ECHO Echo.sa"
  • ブラウズ: "$ sabrowse -main ECHO Echo.sa"

sabrowseのコンパイルを行なっていれば、コードをTcl/Tkを利用した クラスブラウザーの中で参照することができます。 MYSOCKETクラスのコードを参照するだけでなく、SOCKETクラスのコードも 含めて見ることができます。

IPPORT_RESERVED以上のポートに接続するために準備したMYSOCKETクラスと、 メインの処理を行なうECHOクラスの二つがあるために複雑そうに見えますが 処理のステップはそれほど多くはありません。以下に解説していきます。

MYSOCKET

ECHO


Yasuhiro ABE <yasu@dengaku.org>
Last modified: Mon May 6 00:35:04 JST 2002