手机客户端需要长时间连续性给服务器发小数据,服务器端应该选用什么技术?

2014-03-05 22:50:03 +08:00
 gracece
类似于微信这种长连接的,之前没做过不知道怎么搜,搜“长连接”等还是未能解决问题。是要用c/c++ 还是python之类的建立socket吗?
谢谢各位!
2751 次点击
所在节点    问与答
11 条回复
ETiV
2014-03-05 22:52:54 +08:00
如果你会node js,http://socket.io
andyhuax
2014-03-05 22:54:07 +08:00
comet
gracece
2014-03-05 23:00:12 +08:00
@ETiV 客户端是安卓能配合这个nodejs插件吗?

@andyhuax 谢谢。。第一眼搜到彗星,我再认真看看。
ovear
2014-03-05 23:08:32 +08:00
默默地推荐下golang
lijinma
2014-03-05 23:09:53 +08:00
nodejs soket.io 不错的选择
gracece
2014-03-05 23:13:52 +08:00
@ovear
@lijinma
@andyhuax 假设项目已经有一定的PHP基础呢,搜到这么一个 http://xingqiba.sinaapp.com/?p=1041 有python进行中转,看得比较疑惑,还望解答。
我这个主要还是客户端长时间发小数据给服务器,服务器基本不用推送什么给客户端的。
ovear
2014-03-05 23:27:06 +08:00
@gracece 不建议使用php做这种事情,他那个代码是要使用php xxx.php 这种cli运行模式运行的,php本身内存泄露不说,单单就他只能使用单核心这一点就有充分的理由不是用它。
我曾经用php写了个websocket服务端,超过100人效率就严重下降,经常抛出socket reset。
因为服务器要主动发数据(push 推)给客户端,一般都必须是长连接,使用轮询其一是服务端压力大,其二是客户端费电。
txlty
2014-03-05 23:30:56 +08:00
http://developer.51cto.com/art/201105/262638.htm
小公司或个人没这个条件。客户端保持链接,加上数据库读写操作。单台服务器扛不住多少并发。
所以这方面资料少。
txlty
2014-03-05 23:58:34 +08:00
当年聊天室时代,有个搭建聊天室的软件叫ichat,效率远超iis+asp搭建的聊天室。因为人是c语言写的。
你要是有实力就用c/c++写服务端。不建议用脚本语言。
ETiV
2014-03-06 00:02:33 +08:00
答LZ问:

socket.io 各种客户端库都有的, 你可以github上搜一搜.

我用它写了一个类似TeamViewer的东西, 用在 Linux 无 GUI, 连接SSH上.

通过公网服务器搭桥, 直接连到办公室的机器上~ 只用了不到300行代码, 超级方便.
jedyu
2014-03-06 08:10:34 +08:00
一个socket用c搞定也就没几行代码吧,何必还要去python、nodejs、go之类的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/103025

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX