Jasmine Teaプログラミング

ネットワーク通信

やること

この教材では、ネットワーク通信の基本動作を学びます。サーバー側とクライアント側の2つのプログラムを作成します。クライアント側のプログラムは、サーバー側のプログラムに情報を送信します。サーバー側のプログラムは、受信した情報を使って、クライアント側のプログラムに返信します。

ステップ3

サーバー側の実行画面に以下のように表示されたら成功です。

jasminetea-27-1

サーバープログラムが動いていて、ポート8080でクライアントからの接続を待機しています。「~で接続を待っています。」の「~」の部分は、接続IDです。クライアント側のプログラムからサーバー側のプログラムに接続するために、この接続IDが必要となります。

接続IDをクライアント側のプログラムに書き込むために、ここで接続IDをクリップボードにコピーしておきます。以下の手順を行ってください。

jasminetea-27-2

ステップ4

次は、クライアント側のプログラムを作成します。サーバー側のプログラムとクライアント側のプログラムをJasmine Teaの一つの画面で作ることができないため、クライアント側のプログラムを作るためのJasmine Teaの画面を新しく開きます。 ここ をクリックして、ウェブブラウザの別タブでStudio画面を表示してください。移行の操作は、新しく開いたタブ内のStudio画面で行います。

では、プロジェクト一覧から新規作成をクリックし、エディター(以下、クライアント側のエディター)に以下のプログラムを入力してみましょう。

接続ID には、サーバーを起動したあとにコピーしておいた 接続IDに置き換えてください。

server_conn_id$="接続ID"
client_conn_id$=connect$(server_conn_id$)

if len(client_conn_id$)=0 then
  print "サーバーへの接続に失敗しました。"
  end
end if

print "サーバーに接続しました。"

message@=["クライアントからのメッセージ"]
if not send(server_conn_id$,message@) then
  print "メッセージの送信に失敗しました。"
  end
end if

do
  packet@=receive@(client_conn_id$)
  if len(packet@)<>0 then
    print "サーバーからの返信を受信しました:"+packet@[1][0]
    exit do
  end if
loop

ステップ5

クライアント側のエディターの右下にある「▶実行」ボタンを押すと、入力したプログラムが実行されます。クライアント側の実行画面に以下のように表示されたら成功です。

jasminetea-27-3

実行したらサーバー側のタブに戻ってきてください。

では、クライアント側の「▶実行」ボタンを押してください。

ステップ6

サーバー側の実行画面に以下のように表示されたら成功です。

jasminetea-27-4

ステップ7

実行したプログラムを解説します。

使っている命令の簡単な紹介

プログラムで行われていること

サーバー側

クライアント側

学ぶべきこと

チャレンジ

  1. サーバーのポート番号を変更して接続を試してみましょう。
  2. クライアントから受信したメッセージの表示形式を変更してみましょう。例: メッセージを大文字に変換して表示する。
  3. クライアントから受信したメッセージをもとに返信内容をユーザー入力で動的に変更するプログラムを作成してみましょう。