当前位置: 首页 > news >正文

商业网站域名中山网站建设sipocms

商业网站域名,中山网站建设sipocms,网站制作 网站建设 杭州,网站图片翻页代码1、概述 QWebSocketServer 是 Qt 框架中用于处理 WebSocket 服务器端的类。它允许开发者创建 WebSocket 服务器#xff0c;接受客户端的连接#xff0c;并与之进行双向通信。WebSocket 是一种在单个 TCP 连接上进行全双工通讯的协议#xff0c;它使得客户端和服务器之间的数…1、概述 QWebSocketServer 是 Qt 框架中用于处理 WebSocket 服务器端的类。它允许开发者创建 WebSocket 服务器接受客户端的连接并与之进行双向通信。WebSocket 是一种在单个 TCP 连接上进行全双工通讯的协议它使得客户端和服务器之间的数据交换变得更加简单和高效。 QWebSocketServer 提供了 WebSocket 服务器所需的基本功能包括监听端口、接受连接、发送和接收消息等。它通常与 QWebSocket 类一起使用后者表示一个 WebSocket 连接并提供了与该连接进行交互的方法。 2、重要方法 QWebSocketServer 类的重要方法包括但不限于 QWebSocketServer(const QString serverName, QWebSocketServer::NonSecureMode serverType NonSecureMode, QObject *parent nullptr): 构造函数创建一个 WebSocket 服务器实例。bool listen(const QHostAddress address QHostAddress::Any, quint16 port 0): 使服务器监听指定的地址和端口。void close(): 关闭服务器停止监听连接。QListQWebSocket * clients() const: 返回当前连接到服务器的所有客户端列表。bool hasPendingConnections() const: 检查是否有等待接受的连接。QWebSocket *nextPendingConnection(): 接受一个等待中的连接并返回一个新的 QWebSocket 对象来表示该连接。QString serverName() const: 返回服务器的名称。QWebSocketServer::WebSocketServerState state() const: 返回服务器的当前状态如监听中、关闭等。 3、重要信号 QWebSocketServer 类的重要信号包括 newConnection(): 当有新的客户端连接请求时发出。acceptError(QAbstractSocket::SocketErrors socketError):当连接出现错误时发出信号。serverError(0WebSocketProtocol::CloseCode closeCode):当服务器发生错误时发出信号。 4、常用枚举类型 以下是 QWebSocketServer类中一些常用的枚举类型及其简要介绍QWebSocketServer::SslMode: SSL 模式。 SslMode::NonSecureMode:不支持SSL/TLSSslMode::SecureMode:支持SSL/TLS 5、实现 SSL/TLS 加密 QWebSocketServer 支持 SSL/TLS 加密以提供安全的WebSocket 连接。为了实现SSL/TLS您需要配置合适的证书和密钥 QWebSocketServer server(Secure WebSocket Server, QWebSocketServer::SecureMode); QSslConfiguration sslConfiguration; sslConfiguration.setLocalCertificate(QStringLiteral(server.crt)); sslConfiguration.setPrivateKey(QStringLiteral(server.key)); server.setSslConfiguration(sslConfiguration); if (server.listen(QHostAddress::Any, 1234)) {     qDebug() Secure WebSocket server listening on port 1234.; } //.h class MyWebSocketClient : public QObject {Q_OBJECTpublic:MyWebSocketClient(QObject *parent nullptr) : QObject(parent), m_pWebSocket(nullptr) {m_pWebSocket new QWebSocket();// 连接服务器QUrl serverUrl(ws://localhost:12345); // 替换为实际的服务器URLm_pWebSocket-open(serverUrl);// 连接信号和槽connect(m_pWebSocket, QWebSocket::connected, this, MyWebSocketClient::onConnected);connect(m_pWebSocket, QWebSocket::disconnected, this, MyWebSocketClient::onDisconnected);connect(m_pWebSocket, QOverloadQAbstractSocket::SocketError::of(QWebSocket::error), this, MyWebSocketClient::onError);connect(m_pWebSocket, QWebSocket::textMessageReceived, this, MyWebSocketClient::onTextMessageReceived);}~MyWebSocketClient() {m_pWebSocket-close();}private slots:void onConnected() {qDebug() Connected to WebSocket server;// 发送消息给服务器QString message Hello, WebSocket server!;m_pWebSocket-sendTextMessage(message);}void onDisconnected() {qDebug() Disconnected from WebSocket server;}void onError(QAbstractSocket::SocketError error) {qDebug() WebSocket error: error;}void onTextMessageReceived(QString message) {qDebug() Received message from WebSocket server: message;}private:QWebSocket *m_pWebSocket; };class WebSocketServer : public QObject {Q_OBJECTpublic:explicit WebSocketServer(quint16 port12345, QObject *parent nullptr);~WebSocketServer();private slots:void onNewConnection();void onTextMessageReceived(const QString message);void onDisconnected();private:QWebSocketServer *m_server;QListQWebSocket * m_clients; };/************************************/ //.cpp WebSocketServer::WebSocketServer(quint16 port, QObject *parent): QObject(parent),m_server(new QWebSocketServer(QStringLiteral(WebSocket Server), QWebSocketServer::NonSecureMode, this)) {if (m_server-listen(QHostAddress::Any, port)) {qDebug() WebSocket server listening on port port;connect(m_server, QWebSocketServer::newConnection, this, WebSocketServer::onNewConnection);} else {qDebug() Error: Unable to start the WebSocket server: m_server-errorString();} }WebSocketServer::~WebSocketServer() {m_server-close();qDeleteAll(m_clients.begin(), m_clients.end()); }void WebSocketServer::onNewConnection() {QWebSocket *client m_server-nextPendingConnection();connect(client, QWebSocket::textMessageReceived, this, WebSocketServer::onTextMessageReceived);connect(client, QWebSocket::disconnected, this, WebSocketServer::onDisconnected);m_clients client;qDebug() New client connected.; }void WebSocketServer::onTextMessageReceived(const QString message) {QWebSocket *client qobject_castQWebSocket *(sender());qDebug() Message received: message;client-sendTextMessage(Echo: message); }void WebSocketServer::onDisconnected() {QWebSocket *client qobject_castQWebSocket *(sender());if (client) {m_clients.removeAll(client);client-deleteLater();qDebug() Client disconnected.;} } 觉得有帮助的话打赏一下呗。。
http://www.dnsts.com.cn/news/192245.html

相关文章:

  • 湘潭网站推广网站维护费用明细
  • 做违法网站的后果网页上做ppt的网站好
  • 怎么样制作一个公司网站上市公司网站建设报价
  • 专业的商城网站开发wordpress搜索条件
  • 彩票网站可以做哪些活动水产网站模板
  • 柳江企业网站开发公司做网站简单
  • 电商 网站建设文字代做ppt平台
  • 商业网站设计与制作redhat7做网站过程
  • 怎么做网站管理网站优化标题不超过多少个字符
  • 哈尔滨网站优化咨询网站描述怎么写好
  • 如何做淘宝客有没有免费的网站公司网站制作可以使用开源系统吗
  • 晋江做网站的公司哪家好网页版扫一扫二维码
  • 在线教育网站开发seo网站排名软件
  • 营销型网站山西seo关键词优化软件搜索
  • 两学一做 知识竞赛网站网站集约化平台建设
  • 网站模板后台网站上传到空间
  • 网站主色调简介网店详情页设计
  • 黑龙江 俄语网站制作信息技术网站建设教案
  • 佛山优化网站做百度推广去些网站加客户
  • 网站引进搜索引擎怎么做wordpress数据库导致宕机
  • ai做网站页面建多大的公司网站如何宣传推广
  • 北京网站建设加q.479185700济宁网站建设公司公司
  • 网站开发前端和后端wordpress博客整站源码
  • 手机网站APP网络推广商城网站甘肃网站建设推广服务
  • 网站的黏度演艺公司
  • wordpress 下载模板站潍坊网站空间
  • 网站建设流程百度经验网站返回首页怎么做
  • 河南餐饮网站建设常州地区做网站
  • 门户网站开发平台企业注册地址变更流程
  • 苏州网站模板建站买房