免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3432 | 回复: 5
打印 上一主题 下一主题

[技术动态] 拿新浪微盘数据包来分析目前app server该如何架构 [复制链接]

论坛徽章:
7
摩羯座
日期:2013-12-05 10:42:57辰龙
日期:2013-12-27 13:40:49亥猪
日期:2014-01-15 09:10:37天秤座
日期:2014-01-20 11:22:20辰龙
日期:2014-01-26 17:02:25午马
日期:2014-01-27 14:22:34水瓶座
日期:2014-02-19 09:36:40
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-10-17 10:09 |只看该作者 |倒序浏览
本帖最后由 kdkgod 于 2013-10-17 10:13 编辑

鄙人现在在一家小公司做c++服务器开发,以前是做通讯行业,对互联网的技术了解的不是很多,现在在做手机app的server端开发,目前用的通信方式是tcp+xml,做了多半年开发用c++搭建一个tcp server并不是很难,但是由于客户端开发的不是很懂tcp通信,经常出现服务器端发了消息给了app,但是app说没有收到,后面我查看他们的代码发现很多情况他们都是等待服务器端断开连接再判断消息是否已经到达。唉!不说了,总之现在做的稀里糊涂的!
最近有了将通信重构的想法,基本的想法是http+json,http用libevent中的evhttp来实现,json就用jsoncpp。为了了解大多数移动互联app server的架构方式,我拿安卓手机对新浪微盘进行了抓包,发现他们的工程流程有鉴权( auth.sina.com.cn),上传(http://upload-vdisk.sina.com.cn/)等等,这有一个文档是新浪微盘的http://wenku.baidu.com/view/46924cefb8f67c1cfad6b884.html,可以参考一下。


其实我们公司的产品和新浪微盘功能类似
1、登录、鉴权

2、获取用户的列表

3、根据列表中的item进行工作(在本地,与服务器没有通信)   

4、将item对应的数据上传到服务器

我个人很认为用libevent去开发一个http server去完成以上功能应该没有问题,不知道新浪微盘的http server是用什么语言开发的。附件上传我抓的数据包! 003.zip (181.75 KB, 下载次数: 1)

论坛徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46处女座
日期:2013-10-24 14:25:01酉鸡
日期:2014-04-07 11:54:15
2 [报告]
发表于 2013-10-17 13:46 |只看该作者
本帖最后由 linux_c_py_php 于 2013-10-17 14:22 编辑

用nginx+php-fpm开发就完事了, 你需要的是一个分布式文件系统吧.

网络开发问题那是基础功, 没有一个顺手的网络框架肯定是成功不了的, 先打基础再谈设计: code.csdn.net/qq120848369/ez_poll/tree/master

论坛徽章:
17
处女座
日期:2013-08-27 09:59:352015亚冠之柏太阳神
日期:2015-07-30 10:16:402015亚冠之萨济拖拉机
日期:2015-07-29 18:58:182015年亚洲杯之巴勒斯坦
日期:2015-03-06 17:38:17摩羯座
日期:2014-12-11 21:31:34戌狗
日期:2014-07-20 20:57:32子鼠
日期:2014-05-15 16:25:21亥猪
日期:2014-02-11 17:32:05丑牛
日期:2014-01-20 15:45:51丑牛
日期:2013-10-22 11:12:56双子座
日期:2013-10-18 16:28:17白羊座
日期:2013-10-18 10:50:45
3 [报告]
发表于 2013-10-17 14:12 |只看该作者
回复 1# kdkgod


    具体的业务具体分析,RPG或即时战斗类游戏无论用json还是xml都是不合适的,更别说加上HTTP了,玩家玩一会流量都受了。像“我叫MT”这样不需要高度交互的,战斗结果直接在服务器上计算好的用HTTP+JSON(or XML)是无关紧要的。移动应用流量问题很重要。通常来讲TCP+Protocol Buffers是个不错的选择。所有基于Web技术的框架都不会有实时响应要求。

论坛徽章:
7
摩羯座
日期:2013-12-05 10:42:57辰龙
日期:2013-12-27 13:40:49亥猪
日期:2014-01-15 09:10:37天秤座
日期:2014-01-20 11:22:20辰龙
日期:2014-01-26 17:02:25午马
日期:2014-01-27 14:22:34水瓶座
日期:2014-02-19 09:36:40
4 [报告]
发表于 2013-10-17 17:23 |只看该作者
PB的效率要比json高?!回复 3# myworkstation


   

论坛徽章:
17
处女座
日期:2013-08-27 09:59:352015亚冠之柏太阳神
日期:2015-07-30 10:16:402015亚冠之萨济拖拉机
日期:2015-07-29 18:58:182015年亚洲杯之巴勒斯坦
日期:2015-03-06 17:38:17摩羯座
日期:2014-12-11 21:31:34戌狗
日期:2014-07-20 20:57:32子鼠
日期:2014-05-15 16:25:21亥猪
日期:2014-02-11 17:32:05丑牛
日期:2014-01-20 15:45:51丑牛
日期:2013-10-22 11:12:56双子座
日期:2013-10-18 16:28:17白羊座
日期:2013-10-18 10:50:45
5 [报告]
发表于 2013-10-17 17:31 |只看该作者
回复 4# kdkgod


     肯定的。PB是二进制数据,而且无值的字段会自动压缩,甚至数据包都可以压缩。

论坛徽章:
0
6 [报告]
发表于 2013-10-17 17:50 |只看该作者
回复 1# kdkgod


    封装好通讯模块给client就好了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP