RPG ソケットバッチプログラム


サーバーRPG クライアントRPG

1.SKOPEN

SKOPENプログラムによりソケットをオープンします。SKOPENでは、setsocketオプションで、 TCP_NODELAY,SO_REUSEADDRをセットしています。

1.SKOPEN

SKOPENプログラムによりソケットをオープンします。SKOPENでは、setsocketオプションで、 TCP_NODELAY,SO_REUSEADDRをセットしています。

2.SKBIND

SKBINDプログラムによりソケットにIPアドレス/ポート番号を割り当てます。 SKBINDでは、明示的なIP割り当ての代わりにANYとしてどのインターフェースからの 接続要求についても受けとれります。

3.SKLISN

SKLISNプログラムにより、クライアントからの接続要求を待ちます。
<=====

4.SKCONN

SKCONNプログラムにより、サーバーに接続を行います。IPアドレスは、 構内ループバックアドレス(127.0.0.1)を指定しているので、サーバーと同じマシン上で クライアントも実行すると仮定しています。

5.SKACPT

SKACPTプログラムにより、クライアントからの接続要求を受け入れます。
この際に、新しいソケットディスクリプターがシステムにより与えられます。これ以降の通信は ここで割り当てられた新しいディスクリプターを使用します。


<=====

6.SKGIVE

SKGIVEプログラムにより、常駐している BATCH ジョブにソケットデイスクリプターを渡します。
SKACPTへ戻る

常駐バッチプログラム

7.SKTAKE

SKTAKE プログラムにより、ソケットデイスクリプターを取得します。

8.SKRECV

SKRECVプログラムにより、クライアントから送信された文字列を受信します
<=====

8.SKSEND

SKSENDプログラムにより、画面から入力された文字列を送信します。


9.SKSEND

SKSENDプログラムにより、8.でクライアントから受信した文字列をそのまま送信します。
(エコー処理)


<=====

9.SKRECV

SKRECVプログラムにより、サーバーから送信された文字列を受信し、画面表示します。
(エコー処理)

10.SKCLOS

文字列[EXIT]が送られてきた場合は、SKCLOSプログラムにより、ソケットのクローズを行います。
SKTAKEへ戻る

文字列[END]が送られてきた場合は、プログラム終了します。

10.SKCLOS

画面からF3が押されるか、サーバープログラムが終了した場合は、SKCLOSプログラムにより、ソケットのクローズを行います。

[Return]