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

长春一般做一个网站需要多少钱django网站开发实例

长春一般做一个网站需要多少钱,django网站开发实例,亚马逊跨境电商运营,百度seo关键词排名优化websocket初始化 前言 上一集我们HTTP的ping操作就可以跑通了,那么我们还有一个协议---websocket,我们在这一集就要去完成我们websocket的初始化。 分析 我们在初始化websocket的之前,我们考虑一下,我们什么时候就要初始化我们…

websocket初始化

前言

上一集我们HTTP的ping操作就可以跑通了,那么我们还有一个协议---websocket,我们在这一集就要去完成我们websocket的初始化。

分析

我们在初始化websocket的之前,我们考虑一下,我们什么时候就要初始化我们的websocket?

我们是不是应该在程序一启动,我们就和我们的websocket的服务端那边建立连接?

那么我们就需要把初始化websocket的方法直接放在我们NetClient的构造函数当中,只要我们一创建一个NetClient就会直接初始化我们的websocket。

客户端

initWebsocket

我们初始化websocket需要考虑的只有两个因素。

第一,websocket的五种信号的处理,我们需要使用信号槽对五种信号进行处理。

第二,我们需要连接服务器。

我们的五种信号为:

  • 建立连接之后connected
  • 断开连接之后disconnected
  • 连接出错的情况 errorOccurred
  • 收到 文本消息 textMessageReceived
  • 收到二进制消息 binaryMessageReceived
void NetClient::initWebsocket()
{//信号槽connect(&webSocketClient, &QWebSocket::connected, this, [=](){LOG() <<"websocket 连接成功!";});connect(&webSocketClient, &QWebSocket::disconnected, this, [=](){LOG() <<"websocket 连接断开!";});connect(&webSocketClient, &QWebSocket::errorOccurred,  this, [=](QAbstractSocket::SocketError error){LOG() <<"websocket 连接失败! 错误原因:" << error;});connect(&webSocketClient, &QWebSocket::textMessageReceived, this, [=](const QString& message){LOG() <<"websocket 收到文本消息!message=" << message;});connect(&webSocketClient, &QWebSocket::binaryMessageReceived, this, [=](const QByteArray& byteArray){LOG() <<"websocket 收到二进制消息! length:" << byteArray.length();//todo:});//服务器连接webSocketClient.open(WEBSOCKET_URL);
}

这里我们二进制就只打印长度,后续还有内容需要完成,先不讲。

服务端

我们的服务端的websocket也是需要单例模式,提醒一下,我们是持久化的连接的哦!

我们在构造函数里,给websocket设置服务器的名字,以及让websocket的安全模式设置为非安全模式。意味着这个 WebSocket 服务器不会使用加密连接(即不使用 WSS,而是使用 WS)。如果你需要加密连接,可以使用 QWebSocketServer::SecureMode,但这通常需要额外的配置,比如 SSL/TLS 证书。

class WebsocketServer : public QObject{Q_OBJECTprivate:static WebsocketServer* instance;WebsocketServer(): websocketServer("websocket server", QWebSocketServer::NonSecureMode){}QWebSocketServer websocketServer;public:static WebsocketServer* getInstance();bool init();};

init

我们需要用信号槽来建立我们的新连接。新连接之后我们就获取到用来通信的socket对象,之后我们还是像客户端的代码有四种信号。我们最后需要绑定端口启动我们的服务,当然我们监听的是我们的8001的端口号,这个也是我们在NetClient里面规定的。

bool WebsocketServer::init()
{//信号槽connect(&websocketServer, &QWebSocketServer::newConnection, this, [=](){//连接建立成功qDebug() << "[websocket] 连接建立成功!";//获取到用来通信的socket对象QWebSocket* socket = websocketServer.nextPendingConnection();//剩余信号处理connect(socket, &QWebSocket::disconnected, this, [=](){qDebug() << "[websocket] 连接断开!";});connect(socket, &QWebSocket::errorOccurred, this, [=](QAbstractSocket::SocketError error){qDebug() << "[websocket] 连接失败! 错误原因" << error;});connect(socket, &QWebSocket::textMessageReceived, this, [=](const QString& message){qDebug() << "[websocket] 收到文本数据!message=" << message;});connect(socket, &QWebSocket::binaryMessageReceived, this, [=](const QByteArray& byteArray){qDebug() << "[websocket] 收到二进制数据! length=" << byteArray.length();});});//绑定端口启动服务bool ok = websocketServer.listen(QHostAddress::Any, 8001);return ok;
}

测试

WebsocketServer* websocketServer = WebsocketServer::getInstance();if(!websocketServer->init()){qDebug() << "websocket 服务器启动失败!";return 1;}qDebug() << "websocket 服务器启动成功!";
NetClient::NetClient(model::DataCenter *dataCenter):dataCenter(dataCenter)
{initWebsocket();
}

这样,我们先启动服务端,再启动客户端就可以自动连接我们的websocket了。

看看我们的测试结果。

那么我们就完成了这一集的任务,那么我们期待下一集!

http://www.yayakq.cn/news/389076/

相关文章:

  • 企业网站做appwordpress做管理系统
  • 如何开发移动网站临湘网站
  • 网站服务器搭建与管理WordPress网站代码修改
  • 网站做外链好不好做cpa推广的网站怎么弄
  • 广州网站建设 骏域网站建设专家网盘搜索网站如何做的
  • 做简历哪个网站好广告发布属于什么服务
  • 大连建设主管部门网站企业网站制作套餐
  • 网站 建设 维护 公司wordpress后台怎么进的
  • 手机怎样建个人网站自己做网站卖什么好
  • 海南网站建设小强怎样让网站排名优化工
  • 中国建设银行网站首页e路护航网站常用插件
  • 沈阳网站建设团队淄博阿雷网站建设公司
  • php网站开发学习9377 这种网站怎么做
  • 网站建设报价多少如何建设公司网站信息
  • 怎么样在服务器上建设网站怎么修改wordpress字体
  • 贵阳网站制作 建设2022适合小学生的简短新闻
  • 网站开发主要做哪些深圳网站设计廊坊公司
  • 网站开发要学的课程网站建设类岗位有哪些
  • 原网站备案在哪优秀网络广告文案案例
  • 网站布局方式温州做高端网站公司
  • 做自媒体搬运文章的网站专业定制网站建设公司
  • 做小型企业网站多少钱读网站建设一定要买电脑实践吗
  • 微信小程序网站建设公司阿里云做的网站
  • 网站开发个人博客高级服装定制平台
  • 网站推广的方法搜索引擎网站恶意镜像
  • 龙岩企业网站建设制作免费素材免费下载
  • 建站之星网站 seo优化湖南涟钢建设有限公司网站
  • 杭州 电子商务网站建设好单库如何做网站
  • 培训网站开发公司网络营销的特征包括
  • 专业房地产网站建设网站视频存储方案