エコークライアント

説明

ユーザーが入力した文字列を echo サーバーに送信し、戻ってきた情報を表示します

Studioで試す

以下のリンクから Jasmine Tea でこのサンプルプログラムを Studio 画面で開いて実際に試すことができます。

Studio で開く

プログラム

server_conn_id$="..."
client_conn_id$=connect$(server_conn_id$)
if len(client_conn_id$)=0 then
  print "接続に失敗しました"
  end
end if
input "サーバーに送信する文字列を入力してください",text$
if not send(server_conn_id$, [text$]) then
  print "送信に失敗しました"
  end
end if
do
  packet@=receive@(client_conn_id$)
  if len(packet@)<>0 then
    message@=packet@[1]
    print message@
  end if
loop while len(packet@)=0

解説

ユーザーが入力した内容をそのままエコーサーバーに送り、返ってきた内容を画面に表示します。サーバーに接続するためには、サーバーの接続IDを知り、server_conn_id$ 変数に設定する必要があります。

1行目は、サーバーの接続識別子をハードコーディングして設定しています。

2行目は、サーバーの接続識別子を使ってサーバーに接続し、その結果として得られるクライアントの接続識別子を設定しています。

3行目は、接続が正常に行われたかどうかを確認しています。接続識別子の長さが0なら、接続に失敗したと判断します。

4行目は、接続に失敗した場合にエラーメッセージを出力します。

7行目は、ユーザーにサーバーに送信する文字列の入力を求めています。

8行目は、入力されたテキストをサーバーに送信しています。送信が失敗した場合は次の行でエラーメッセージが出力されます。

9行目は、送信に失敗した場合にエラーメッセージを出力します。

12行目から18行目は、サーバーからの応答を待ち受けるループを実行しています。このループは、パケットが空でなくなるまで続きます。

13行目は、クライアントの接続識別子を使ってサーバーからのパケットを受信しています。

14行目は、受信したパケットが空でないかをチェックしています。

15行目と16行目は、受信したパケットからメッセージを取り出し、それを出力しています。

このプログラムは、サーバーに接続し、テキストメッセージを送信して、サーバーからの応答を受け取るクライアントの機能を実装しています。また、接続や送信の失敗時には適切なエラーメッセージが表示されるようになっています。