概要
mindが謎なので調べてみた。
サンプルのtcp serverやって見た。
写真
サンプルコード
エラー検査とは (・ → ・)
エラー?
ならば
エラー文字列で 重大エラー
つぎに
。
メインとは (ホスト名、ポート番号 → ・)
ホスト名は 文字列
ポート番号は 変数
待ちソケットは 変数
データソケットは 変数
エラーコードは 変数
文字列1は 文字列
起動引数(1)を ホスト名に 入れ
起動引数(2)を 数値変換し
偽?
ならば
「ポート番号が誤りです」で 重大エラー
つぎに
ポート番号に 入れ
「ホスト名 」を 表示し ホスト名を 表示し 「 、」を 表示し ポート番号を 数値表示し 「 番ポートで待つ。」を 一行表示する
ホスト名と ポート番号と 1個で (=listen数) listenし 待ちソケットに 入れ エラー検査し
「listenの後」で このメッセージでスタック検査し
「listen完。待ちソケット=」を 表示し 待ちソケットを 数値表示し 改行する
ここから
「acceptします」を 一行表示し
待ちソケットで acceptし データソケットに 入れ
エラー?
ならば
「エラー:」を エラー出力し エラー文字列を 一行エラー出力し
打ち切り
つぎに
「accept完。データソケット=」を 表示し データソケットを 数値表示し 改行する
ここから
「クライアントからのデータを待っています。」を 一行表示し
データソケットから ハンドル指定で一行読み出し 文字列1に 入れる
データ終り?
ならば
「[EOF]クライアントが終了しました。」を 一行表示する
打ち切り
つぎに
「データ=」を 表示し 文字列1を 一行表示し 「返すデータ(終了はEnterのみ):」を 表示する
文字列入力し 文字列1に 入れ
文字列1が
空列?
ならば
打ち切り
つぎに
文字列1を データソケットに ハンドル指定で一行書き込み
「データ受信ループ内」で このメッセージでスタック検査し
繰り返し
「データソケットをクローズします」を 一行表示する
データソケットを ハンドル指定でクローズする
「待ちソケットをクローズします」を 一行表示する
待ちソケットを ハンドル指定でクローズする
打ち切り
繰り返し
「終わります。」を 一行表示する
「メインの終わり」で このメッセージでスタック検査する。
実行結果
>server localhost 40001
ホスト名 localhost 、40001 番ポートで待つ。
listen完。待ちソケット=-504
acceptします
accept完。データソケット=-572
クライアントからのデータを待っています。
データ=23
返すデータ(終了はEnterのみ):52
クライアントからのデータを待っています。
以上。