栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

websocket++简单使用及实例分析

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

websocket++简单使用及实例分析

前言

html5支持使用websocket协议与服务器保持一个长连接,方便双方互相传输数据,而且服务器也能主动发送信息给客户端,而在这之前使用HTTP是很难做到的。下面介绍使用C++实现的websocket++的简单使用。websocket++更详细介绍点此。

websocket++需要boost的支持,所以工程中需要包含boost的头文件和库。boost在VS中的如何使用参考此文章。

C++代码

#include "stdafx.h"
#include 

using namespace std;

#include 
#include 

typedef websocketpp::server WebsocketServer;
typedef WebsocketServer::message_ptr message_ptr;

using websocketpp::lib::placeholders::_1;
using websocketpp::lib::placeholders::_2;
using websocketpp::lib::bind;

void onOpen(WebsocketServer *server, websocketpp::connection_hdl hdl)
{
  cout << "have client connected" << endl;
}

void onClose(WebsocketServer *server, websocketpp::connection_hdl hdl)
{
  cout << "have client disconnected" << endl;
}

void onMessage(WebsocketServer *server, websocketpp::connection_hdl hdl, message_ptr msg)
{
  string strMsg = msg->get_payload();
  cout << strMsg << endl;

  string strRespon = "receive: ";
  strRespon.append(strMsg);

  server->send(hdl, strRespon, websocketpp::frame::opcode::text);
}

int main()
{
  WebsocketServer   server;

  // Set logging settings
  server.set_access_channels(websocketpp::log::alevel::all);
  server.clear_access_channels(websocketpp::log::alevel::frame_payload);

  // Initialize ASIO
  server.init_asio();

  // Register our open handler
  server.set_open_handler(bind(&OnOpen, &server, ::_1));

  // Register our close handler
  server.set_close_handler(bind(&OnClose, &server, _1));

  // Register our message handler
  server.set_message_handler(bind(&OnMessage, &server, _1, _2));

  //Listen on port 2152
  server.listen(8090);

  //Start the server accept loop
  server.start_accept();

  //Start the ASIO io_service run loop
  server.run();

  return 0;
}

Html代码




Testing websockets


 
  
 
 
 

运行结果

 

以上这篇websocket++简单使用及实例分析就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/64371.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号