搜尋

首頁  >  問答  >  主體

高并发 - C/C++ 有哪些适合快速开发的socket服务器框架?

如题,设想做一个项目需要接收大量物联网硬件设备上传数据信息(当然,数据量不大,每次不超过512字节),最高同时在线5000个设备(TCP连接可双方通信收发数据),需要这么一个接收程序,该用什么框架?
见到一些做类似物联网设备的GPS系统的服务器,成千上万辆车在里面监控也很稳定,这其中要注意什么。
描述不明白的我会在下面做补充的。

伊谢尔伦伊谢尔伦2826 天前728

全部回覆(7)我來回復

  • PHP中文网

    PHP中文网2017-04-17 11:47:16

    如果是 Windows 下,建議了解「IOCP」,如果是 Linux 下,建議了解「epoll」。
    如果業務不複雜,只是收發大量資料的話,應該就夠了。
    當然不是一定要 C/C++ 的話,可以試試Python 的「tornado」

    PS:LZ你說的這個數據量主流的技術都 hold 的住

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 11:47:16

    如果有 C++ 背景可以考慮用 Thrift,這個需要伺服器和客戶端一起使用。

    如果只考慮伺服器,Go 和 NodeJS 都是不錯的選擇,看看官方的例子就已經比較清楚了。

    至於socket 連線的穩定性,主要還是在於TCP 心跳偵測和資料重傳做的好不好,對於通道不好的情況,例如使用3G 卡做連網時,要每隔幾十秒就發一個沒有資料的心跳包,保證儘早偵測到斷線請求,儘早重連。伺服器端效能應該問題不大,就算設備每秒鐘都發資料只要業務不太複雜就不會遇到什麼瓶頸。

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-17 11:47:16

    建議你看golang

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-17 11:47:16

    有個c++框架ACE

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-17 11:47:16

    fastrpc 最好用的c++伺服器框架 簡單到你5秒上手

    回覆
    0
  • 黄舟

    黄舟2017-04-17 11:47:16

    如果用golang那就方便了,天生的高並發編程,如果C的話可以考慮libevent

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 11:47:16

    上次看到一個挺不錯的伺服器框架,在開源中國上NF kit 可以研究了下

    回覆
    0
  • 取消回覆