websocketpp 最简单的客户端 一
websocket 服务端
简单服务端在这里
websocketpp 客户端
客户端并没有做断线重连,这个有兴趣的可以自己实现,下一章会实现的。几个预定义的还是要写,例如不想用boost,直接用asio,还是要定义ASIO_STANDALONE,其他的太简单,多熟悉官方的例子就好
#define _CRT_SECURE_NO_WARNINGS
#define _WEBSOCKETPP_CPP11_TYPE_TRAITS_
#define _SCL_SECURE_NO_WARNINGS
#define ASIO_STANDALONE
#include <websocketpp/config/asio_no_tls_client.hpp>
#include <websocketpp/client.hpp>#include <iostream>typedef websocketpp::client<websocketpp::config::asio_client> client;using websocketpp::lib::placeholders::_1;
using websocketpp::lib::placeholders::_2;
using websocketpp::lib::bind;// pull out the type of messages sent by our config
typedef websocketpp::config::asio_client::message_type::ptr message_ptr;// This message handler will be invoked once for each incoming message. It
// prints the message and then sends a copy of the message back to the server.
void on_message(client* c, websocketpp::connection_hdl hdl, message_ptr msg) {std::cout << "on_message called with hdl: " << hdl.lock().get()<< " and message: " << msg->get_payload()<< std::endl;websocketpp::lib::error_code ec;c->send(hdl, msg->get_payload(), msg->get_opcode(), ec);if (ec) {std::cout << "Echo failed because: " << ec.message() << std::endl;}
}int main(int argc, char* argv[]) {// Create a client endpointclient c;std::string uri = "ws://localhost:9002";if (argc == 2) {uri = argv[1];}try {// Set logging to be pretty verbose (everything except message payloads)c.set_access_channels(websocketpp::log::alevel::all);c.clear_access_channels(websocketpp::log::alevel::frame_payload);// Initialize ASIOc.init_asio();// Register our message handlerc.set_message_handler(bind(&on_message, &c, ::_1, ::_2));websocketpp::lib::error_code ec;client::connection_ptr con = c.get_connection(uri, ec);if (ec) {std::cout << "could not create connection because: " << ec.message() << std::endl;return 0;}// Note that connect here only requests a connection. No network messages are// exchanged until the event loop starts running in the next line.c.connect(con);// Start the ASIO io_service run loop// this will cause a single connection to be made to the server. c.run()// will exit when this connection is closed.c.run();}catch (websocketpp::exception const & e) {std::cout << e.what() << std::endl;}
}
websocketpp 最简单的客户端 一相关推荐
- python16进制字节序_第 1 章 套接字、IPv4和简单的客户端/服务器编程
第 1 章 套接字.IPv4和简单的客户端/服务器编程 本章攻略: 打印设备名和IPv4地址 获取远程设备的IP地址 将IPv4地址转换成不同的格式 通过指定的端口和协议找到服务名 主机字节序和网络字 ...
- python能做哪些客户端_Python 实现简单的客户端认证
问题 你想在分布式系统中实现一个简单的客户端连接认证功能,又不想像SSL那样的复杂. 解决方案 可以利用 hmac 模块实现一个连接握手,从而实现一个简单而高效的认证过程.下面是代码示例: impor ...
- java rest客户端_Java中的简单REST客户端
java rest客户端 如今,大多数用于与某些服务器通信的移动应用程序都使用REST服务. 这些服务也是JavaScript或jQuery的常用惯例. 现在,我知道在Java中为REST服务创建客户 ...
- Java中的简单REST客户端
如今,大多数用于与某些服务器通信的移动应用程序都使用REST服务. 这些服务也是与JavaScript或jQuery一起使用的常见做法. 现在,我知道在Java中为REST服务创建客户端的2种方法,在 ...
- java服务器向客户端发消息_java一个简单的客户端向服务端发送消息
java一个简单的客户端向服务端发送消息 客户端代码: package com.chenghu.tcpip; import java.io.IOException; import java.io.Ou ...
- 基于Domoticz智能家居系统(十七)DIY一款基于MySensors的ESP8266+NRF24L01的MQTT(WIFI)和RF无线网关(三)一个简单MySensors客户端的验证实验
DIY一款基于MySensors的ESP8266+NRF24L01的MQTT(WIFI)和RF无线网关(三)一个简单MySensors客户端的验证实验 一个简单MySensors客户端的验证实验 一. ...
- Python 实现简单的客户端认证
更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.op-kg.com/ ...
- Netty简单实现客户端与服务端收发消息
Netty简单实现客户端与服务端收发消息 这个小案例主要是实现netty收发消息,分为客户端,及服务端,以及包含了相关状态处理,主要的代码会放在最后 gitHub 地址上,有需要可以看一下 首先来简单 ...
- 【初识Netty使用Netty实现简单的客户端与服务端的通信操作Netty框架中一些重要的类以及方法的解析】
一.Netty是什么? Netty 由 Trustin Lee(韩国,Line 公司)2004 年开发 本质:网络应用程序框架 实现:异步.事件驱动 特性:高性能.可维护.快速开发 用途:开发服务器和 ...
最新文章
- 关于蹭网的一点点感想
- FreeBSD学习笔记25-安装DHCP服务
- 汇编语言--div指令
- 台达变频器s1参数设置_【智】台达变频器计数输入功能接线和参数设置详解
- pythonpil模块安装_centos 安装python PIL模块
- html5+、ReactNative、Weex、Ionic之间的区别、(配置java、python、Android环境)、ReactNative(react-native-cli)、yarn、Weex
- python 大众点评模拟登陆_python项目实战:模拟登陆163邮箱,简单到爆
- 【Teradata】系统吞吐量重要参数QPS(TPS)、并发数、响应时间
- velocity 将数字转为以万为单位,保留2位小数
- 面试题22_栈的压入和弹出序列
- moonmq: 用go实现的高性能message queue
- php get安全过滤,php 有效安全过滤get,posd,cookie_PHP教程
- 09_用户登录退出实现
- 字体编辑用中日韩汉字Unicode编码表
- 图解十大机器学习算法
- voip|网络电话,软件实现电信座机
- 如何计算均值、标准差和标准误差
- mysql创建制度账户_Mysql数据库用户管理
- 网页编程 table 表格设计 css
- Python面向对象版学员管理系统