打算做一个类似qq的消息弹出提醒,客户端安装软件后,服务端有消息就通知客户端,服务端打算用libevent来做。客户端与服务端通信用tcp还是udp为好?向这种单纯的消息通知大概怎么设计与实现?麻烦各位谈谈,给个参考链接也行。
打算做一个类似qq的消息弹出提醒,客户端安装软件后,服务端有消息就通知客户端,服务端打算用libevent来做。客户端与服务端通信用tcp还是udp为好?向这种单纯的消息通知大概怎么设计与实现?麻烦各位谈谈,给个参考链接也行。
linux建议用epoll模型 这样就能避免c10k问题
建议用tcp模型先试试压力 写的时候注意点 抽取核心功能 到时候可以替换成udp再测试测试
建议搜索 ‘订阅/发布’ 模型 ‘消息队列’ 等架构信息 进行参考
好乱的提问。
通信推荐使用 UDP,如果你的能力够的话。因为国内网络比较差,而 TCP 对丢包什么的太敏感的,用户网络不稳定的话连接就会 stalled。UDP 自己做流控就可以做得更适合消息通知了。当然如果你的消息很短的话直接发一个带序列号和签名的 UDP 包过去就行,客户端收到了给个回应,服务器等一段时间还没收到回应就重发。
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答3.3k 阅读
之前做过一个类似的项目,使用的是tcp长连接,也是用基于libevent开发的:
1、高并发,lz可以搜索c10k问题
2、断开重连,特别2G网络下的网络不稳定问题,还是就是2G网络有一部分使用的是移动的代理上网的,具体记不住了,lz google吧