我目前正在构建聊天服务器(meebo样式)。
架构是这样的。
这里最重要的部分是主机 A 将部署在嵌入式Linux中。
我有 2个问题。
另外,如果您认为我的方法有问题或有更好的方法,请告诉我如何改进此架构?
注意:这不是一个高容量的聊天服务器。
答案 0 :(得分:2)
如果在嵌入式平台上构建V8 / Node.js是禁止的,那么接下来最好的方法是采用Node的事件循环和平台层(libuv)和HTTP解析器(http-parser) ,都用C语言编写,并以此为出发点。这些是用于构建Node.js的相同库,因此它们经过了战斗测试,可以为您提供所寻求的性能特征。
Node.js的作者Ryan Dahl正好展示了how to use libuv and http-parser to build an asynchronous web server in C。
答案 1 :(得分:2)
在Bitlbee和基于Web的IRC客户端之间放置一个ZNC服务器。 Bitlbee会认为用户从未注销过,ZNC可以维护积压的消息,直到用户再次与Web客户端连接为止。
答案 2 :(得分:1)
我会尝试使用node.js,如果这是您的选择,那么嵌入式系统是什么?知道这将有助于更多。另外,node.js的另一个优点是它确实有内置的会话处理,但是如果你想在C中执行它,请查看是否可以在嵌入式设备上运行sqlite包装器来存储会话信息。
但是,如果可能坚持使用嵌入式设备上的工作量较少的东西,那么重新制作很多东西或者不得不为设备编译问题感觉不好。