Qt WebChannel ChatServer 예제
QWebChannel C++ API를 사용하여 구현된 간단한 채팅 서버입니다.

ChatServer는 Qt WebChannel ChatClient QML 애플리케이션과 Qt WebChannel ChatClient HTML 예제가 연결할 수 있는 채팅 서비스를 제공합니다.
예제 실행
다음 위치에서 예제를 실행할 수 있습니다:
- Qt Creator
Welcome 모드를 열고 Examples 에서 예제를 선택합니다. 자세한 내용은 Qt Creator: 튜토리얼: 빌드 및 실행을 참조하십시오.
- Qt Extension for Visual Studio Code
Command Palette 에서 ` Qt: Open Qt examples ` 명령을 실행하고 목록에서 예제를 선택합니다. 자세한 내용은 Qt Extension for Visual Studio Code: 튜토리얼: 빌드 및 실행을 참조하십시오.
채팅 서버 구현
이 C++ 애플리케이션은 채팅 서비스에 필요한 모든 메커니즘을 제공하는 ` QObject `을 구현합니다. 이 객체는 WebSocket을 전송 프로토콜로 사용하는 ` QWebChannel `을 통해 게시됩니다.
서버는 기본 login 메서드(사용자 이름만 지원, 비밀번호 없음)를 제공하며, 클라이언트가 채팅을 하려면 이 메서드가 성공적으로 호출되어야 합니다. 로그인 후, 클라이언트는 sendMessage 메서드를 호출하고 newMessage 신호를 수신하여 메시지를 작성하고 수신할 수 있습니다. 또한, userList 속성을 통해 연결된 다른 모든 클라이언트의 이름을 확인할 수 있습니다. 또한 서버는 주기적으로 모든 클라이언트에게 keepAlive 신호를 전송합니다. 클라이언트는 이 신호에 응답해야 하며, 그렇지 않을 경우 userList 속성에서 해당 클라이언트가 제거됩니다.
이 예제는 QWebChannel 와 함께 QObject 의 기본 요소, 즉 신호(newMessage), 슬롯(sendMessage), 속성(userList)을 사용하는 방법을 보여줍니다.
이것은 단순한 서버 애플리케이션이므로, 이와 상호작용하기 위해서는 별도의 클라이언트가 필요합니다. Qt WebChannel 의 ChatClient QML 애플리케이션과 Qt WebChannel 의 ChatClient HTML 예제는 이 서버와 호환되는 클라이언트 구현체입니다.
© 2026 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.