WebSocket服务端设计

本文介绍了WebSocket协议在服务器端设计中的应用,包括技术选型原因、使用QWebSocketServer的步骤、监听连接、消息接收以及测试方法,如在线工具和Postman的运用。
摘要由CSDN通过智能技术生成

WebSocket服务端设计


概述

介绍技术选型原因

为了实现加解密网络服务器,为应用服务器提供实时加解密服务,针对服务器通讯协议进行选型,最终选择用WebSocket协议进行网络服务程序的设计。
WebSocket协议优势
(1)较少的控制开销:在连接创建后,服务器和客户端之间交换数据时,用于协议控制的数据包头部相对较小;
(2)更强的实时性:由于协议是全双工的,所以服务器可以随时主动给客户端下发数据。相对于 HTTP 请求需要等待客户端发起请求服务端才能响应,延迟明显更少;
(3)保持连接状态:与 HTTP 不同的是,WebSocket 需要先创建连接,这就使得其成为一种有状态的协议,之后通信时可以省略部分状态信息;
(4)更好的二进制支持:WebSocket 定义了二进制帧,相对 HTTP,可以更轻松地处理二进制内容;
(5)可以支持扩展:WebSocket 定义了扩展,用户可以扩展协议、实现部分自定义的子协议。


一、使用步骤

(1)创建服务端

QWebSocketServer *m_s;
m_s=new QWebSocketServer("XXXXX", QWebSocketServer::NonSecureMode, this);

(2)监听

m_s->listen(QHostAddress::Any,port);

(3)接收新连接,获得新客户端

QWebSocket *socket=m_s->nextPendingConnection();

(4)接收信息

connect(socketXXX,&QWebSocket::textMessageReceived,this,&threadClassXXX::slotXXXX);

备注:获得新客户端后,传递socket给子线程

new threadClassXXX(socket);

(5)断开连接
检测QWebSocket::disconnected信号,然后

socket->deleteLater()

(6)其他
设置窗口程序名字

setWindowTitle("XXXXX");

二、测试方法

(1)在线工具
websocket在线测试工具
(2)使用Postman


总结

以上就是今天要讲的内容,第一次发布文章,悲喜交加。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值