基于Qt的SocketIO客户端实现 【三】发送与接收
来源:互联网 发布:脂老虎饼干 知乎 编辑:程序博客网 时间:2024/05/22 14:03
第一部分:http://blog.csdn.net/qiuchunhuige/article/details/78610289
第二部分:http://blog.csdn.net/qiuchunhuige/article/details/78610306
服务器端的程序与第一部分用的相同,这里就不单列出了。
示例程序下载地址:https://pan.baidu.com/s/1c1XvrLQ
此示例程序实现的功能很简单,就是连接至socket.io服务器,发送一条消息并把接收的消息显示出来
编译之前需要先在pro文件中修改boost的路径,否则会编译失败
第三部分 数据的发送与接收
1. 发送数据
发送数据的核心代码是:_io->socket->Emit(变量1,变量2);
前一个变量是事件名称
如:
这段代码实现的功能是发送"chat message"事件,内容为”123ABC”
2. 接收数据
先绑定事件。下面这段代码执行的内容是:当接收到“chat message”事件的时候,执行OnNewMessage函数
#ifdef WIN32
#define BIND_EVENT(IO,EV,FN) \
#else
#endif
绑定完事件之后,我们就可以编写OnNewMessage函数,处理"chat message"事件。
OnNewMessage函数代码如下,其中第一个参数为事件名称,第二个参数为事件内容。我这里写的处理接收的函数很简单,就是把事件名称和事件内容显示在控制台上
void SocketIOClient::OnNewMessage(std::string const& name,message::ptr const& data,boolhasAck,message::list &ack_resp){ //处理接收消息 name位事件名称,data为事件内容
}
3. 运行效果
Qt客户端执行的内容是开始运行之后链接至服务器,连接成功之后发送“chat message”事件,事件内容为“123ABC”,并接收消息(此客户端代码的链接已在上面贴出)。运行此Qt客户端,同时打开一个网页客户端。可以看到网页客户端接受到了“123ABC”的消息,同时在网页客户端发送了内容为“987650”的“chat message”事件之后,Qt客户端也能成功的接收到这一个事件。
4. 参考资料
http://socket.io/blog/socket-io-cpp/
原文出自:http://blog.sina.com.cn/s/blog_15d207b300102xybz.html
- 基于Qt的SocketIO客户端实现 【三】发送与接收
- 基于Qt的SocketIO客户端实现 【二】向服务器发送请求
- 基于Qt-socketio客户端与Nodejs服务器通讯
- 基于Qt的SocketIO客户端实现 【一】开源代码的选择
- Android基于XMPP Smack Openfire开发IM【三】客户端接收服务器发送的消息
- Android基于XMPP Smack Openfire开发IM【三】客户端接收服务器发送的消息
- 基于Django的微信公众号开发(5) -- 实现消息的接收与发送
- java 实现jms的客户端(发送接收消息)
- java 实现jms的客户端(发送接收消息)
- java之Scoket 客户端和服务器的发送与接收
- 【引用】Qt中发送与接收信息的编码转换
- Java网络编程基于UDP的发送与接收
- 实验四,基于NRF24L01的RFID发送与接收
- python实现jms客户端(发送接收消息)
- java网络编程三:基于SMTP的邮件发送客户端
- java网络编程三:基于SMTP的邮件发送客户端
- java网络编程三:基于SMTP的邮件发送客户端
- linux下基于udp的简单的接收与发送程序,开发板与本机接收与发送信息
- 群智问题(节选自nature)
- springcloud(五):熔断监控Hystrix Dashboard和Turbine
- 模糊查询,批量删除, 添加用户,隔行变色,排序,过滤器
- 树莓派
- springcloud(六):配置中心git示例
- 基于Qt的SocketIO客户端实现 【三】发送与接收
- springcloud(七):配置中心svn示例和refresh
- 常用Benchmark
- ls1021aqds uboot nand boot
- leetcode: 98. Validate Binary Search Tree
- springcloud(八):配置中心服务化和高可用
- 腾讯2017秋招笔试编程题:素数对 [python]
- 写给小白看的 JavaScript 异步
- 2017-11-22 6周3次课 正则------awk