类似QQ的弹出提醒,不需要聊天,只需要提醒

    打算做一个类似qq的消息弹出提醒,客户端安装软件后,服务端有消息就通知客户端,服务端打算用libevent来做。客户端与服务端通信用tcp还是udp为好?向这种单纯的消息通知大概怎么设计与实现?麻烦各位谈谈,给个参考链接也行。
阅读 5.3k
3 个回答

之前做过一个类似的项目,使用的是tcp长连接,也是用基于libevent开发的:
1、高并发,lz可以搜索c10k问题
2、断开重连,特别2G网络下的网络不稳定问题,还是就是2G网络有一部分使用的是移动的代理上网的,具体记不住了,lz google吧

linux建议用epoll模型 这样就能避免c10k问题

建议用tcp模型先试试压力 写的时候注意点 抽取核心功能 到时候可以替换成udp再测试测试

建议搜索 ‘订阅/发布’ 模型 ‘消息队列’ 等架构信息 进行参考

好乱的提问。

通信推荐使用 UDP,如果你的能力够的话。因为国内网络比较差,而 TCP 对丢包什么的太敏感的,用户网络不稳定的话连接就会 stalled。UDP 自己做流控就可以做得更适合消息通知了。当然如果你的消息很短的话直接发一个带序列号和签名的 UDP 包过去就行,客户端收到了给个回应,服务器等一段时间还没收到回应就重发。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题