이 페이지에서

Qt WebChannel ChatServer 예제

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

콘솔 창에 Keep Alive Check 로그 행이 반복적으로 출력됨

ChatServer는 Qt WebChannel ChatClient QML 애플리케이션과 Qt WebChannel ChatClient HTML 예제가 연결할 수 있는 채팅 서비스를 제공합니다.

예제 실행

다음 위치에서 예제를 실행할 수 있습니다:

채팅 서버 구현

이 C++ 애플리케이션은 채팅 서비스에 필요한 모든 메커니즘을 제공하는 ` QObject `을 구현합니다. 이 객체는 WebSocket을 전송 프로토콜로 사용하는 ` QWebChannel `을 통해 게시됩니다.

서버는 기본 login 메서드(사용자 이름만 지원, 비밀번호 없음)를 제공하며, 클라이언트가 채팅을 하려면 이 메서드가 성공적으로 호출되어야 합니다. 로그인 후, 클라이언트는 sendMessage 메서드를 호출하고 newMessage 신호를 수신하여 메시지를 작성하고 수신할 수 있습니다. 또한, userList 속성을 통해 연결된 다른 모든 클라이언트의 이름을 확인할 수 있습니다. 또한 서버는 주기적으로 모든 클라이언트에게 keepAlive 신호를 전송합니다. 클라이언트는 이 신호에 응답해야 하며, 그렇지 않을 경우 userList 속성에서 해당 클라이언트가 제거됩니다.

이 예제는 QWebChannel 와 함께 QObject 의 기본 요소, 즉 신호(newMessage), 슬롯(sendMessage), 속성(userList)을 사용하는 방법을 보여줍니다.

이것은 단순한 서버 애플리케이션이므로, 이와 상호작용하기 위해서는 별도의 클라이언트가 필요합니다. Qt WebChannel 의 ChatClient QML 애플리케이션과 Qt WebChannel 의 ChatClient HTML 예제는 이 서버와 호환되는 클라이언트 구현체입니다.

code.qt.io의 예제 프로젝트

© 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.