Qt WebChannel ChatServer の例

QWebChannel C++ API を使用して実装されたシンプルなチャットサーバです。

ChatServerQt WebChannel ChatClient QML ApplicationQt WebChannel ChatClient HTML Exampleが接続できるチャットサービスを提供します。

サンプルを実行する

Qt Creator からサンプルを実行するには、Welcome モードを開き、Examples からサンプルを選択します。詳細については、Building and Running an Example を参照してください。

チャットサーバーの実装

C++ アプリケーションは、チャットサービスに必要なすべてのメカニズムを提供するQObject を実装しています。このオブジェクトは、トランスポートとしてWebSocketを使用するQWebChannel

サーバーは基本的なlogin メソッド(ユーザー名のみ、パスワードなし)を提供し、クライアントがチャットをする前に正常に起動する必要があります。ログイン後、クライアントはsendMessage メソッドを起動し、newMessage シグナルを受信することで、メッセージの書き込みと受信を行うことができます。さらに、userList プロパティがあり、接続されている他のクライアントの名前が表示されます。さらに、サーバーはすべてのクライアントにkeepAlive シグナルを定期的に送信します。クライアントはこのシグナルに応答しなければならず、そうでなければクライアントはuserList プロパティから削除される。

この例では、基本的なQObject 要素をQWebChannel 、つまりシグナル(newMessage)、スロット(sendMessage)、プロパティ(userList)でどのように使用できるかを示しています。

これはプレーン・サーバ・アプリケーションであるため、これと対話するためには別のクライアントが必要です。Qt WebChannel ChatClient QML ApplicationQt WebChannel ChatClient HTML Exampleは、このサーバと互換性のあるクライアント実装です。

サンプルプロジェクト @ code.qt.io

©2024 The Qt Company Ltd. ここに含まれるドキュメントの著作権はそれぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。