チャットクライアント

説明

テキストチャットのクライアントです。起動してサーバーに接続できたなら、ユーザーにチャットルームで使用する名前を尋ねます。その後は、スペースバーを押すことで、送信するテキストを入力できます。

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
print "接続しました。スペースバーでメッセージを送信できます。"
input "お名前を入れてください",name$
result = send(server_conn_id$,[1, name$])
if not result then
  print "送信エラー"
  end
end if
do
  packet@=receive@(client_conn_id$)
  if 0<len(packet@) then
    print packet@[1][0]
  end if
  k$=inkey$()
  if k$ = " " then
    input "メッセージを入れてください",message$
    result = send(server_conn_id$,[2, name$, message$])
    if not result then
      print "送信エラー"
    end if
  end if
  if not connecting(client_conn_id$) then
    print "切断されました"
    end
  end if
loop

解説

このプログラムは、クライアント側のチャットアプリケーションを実装しています。プログラムの主な流れは以下の通りです。

サーバーへの接続 - プログラムはまず、ハードコーディングされたサーバー接続識別子を使用してサーバーに接続を試みます。接続が成功したかどうかを確認し、失敗した場合は「接続エラー」と表示してプログラムを終了します。接続が成功した場合、「接続しました」というメッセージを表示し、ユーザーにスペースバーを押すことでメッセージを送信できることを案内します。

ユーザー名の送信 - ユーザーに自身の名前を入力してもらい、その名前をサーバーに送信します。名前は、新しいクライアントがチャットに参加したことをサーバーに通知するために使用されます。名前の送信に失敗した場合は「送信エラー」と表示してプログラムを終了します。

メッセージの送受信と切断の確認 - メインループでは、サーバーからのメッセージを待ち受け、受信したメッセージを表示します。また、ユーザーがスペースバーを押すと、新しいメッセージの入力を求め、そのメッセージをサーバーに送信します。メッセージの送信に失敗した場合は「送信エラー」と表示します。加えて、定期的にサーバーとの接続が維持されているかを確認し、接続が切断された場合は「切断されました」と表示してプログラムを終了します。

このプログラムは、サーバーとの接続、メッセージの送受信、接続の状態確認など、基本的なチャットクライアントの機能を提供しています。ユーザーは簡単なインターフェースを通じてサーバーに接続し、チャットに参加できます。