Qt WebChannel チャットサーバーの例
QWebChannel C++ APIを使って実装されたシンプルなチャットサーバです。
ChatServerはQt WebChannel ChatClient QML ApplicationとQt WebChannel ChatClient HTML Exampleが接続できるチャットサービスを提供します。
例の実行
からサンプルを実行するには Qt Creatorからサンプルを実行するには、Welcome モードを開き、Examples からサンプルを選択します。詳細については、例の構築と実行を参照してください。
チャット・サーバーの実装
C++アプリケーションは、チャットサービスに必要なすべてのメカニズムを提供するQObject 。このオブジェクトは、トランスポートとしてWebSocketを使用するQWebChannel 。
サーバーは基本的なlogin
メソッド(ユーザー名のみ、パスワードなし)を提供します。ログイン後、クライアントはsendMessage
メソッドを起動し、newMessage
シグナルを受信することで、メッセージの書き込みと受信を行うことができます。さらに、userList
プロパティがあり、接続されている他のクライアントの名前が表示されます。さらに、サーバーはすべてのクライアントにkeepAlive
シグナルを定期的に送信します。クライアントはこのシグナルに応答しなければならず、そうでなければクライアントはuserList
プロパティから削除される。
この例では、基本的なQObject 要素をQWebChannel 、つまりシグナル(newMessage
)、スロット(sendMessage
)、プロパティ(userList
)でどのように使用できるかを示しています。
これはプレーンなサーバーアプリケーションなので、このアプリケーションとやりとりするためには別のクライアントが必要です。 Qt WebChannel ChatClient QML ApplicationとQt WebChannel ChatClient HTML Exampleは、このサーバと互換性のあるクライアント実装です。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.