设为首页 收藏本站
查看: 998|回复: 0

[经验分享] 手机网游客户端指南-网络通信

[复制链接]

尚未签到

发表于 2017-2-28 11:36:53 | 显示全部楼层 |阅读模式
  本文主要介绍手机网游客户端的网络通信架构,以及和移动网络对接的事宜。
  Agent`K曾经是个web工程师,相信很多程序员也是从tomcat、apache开始的。
  做web应用基本上可以不用去理会网络连接的事情,web服务器和浏览器会替你搞定。
  当然网络游戏也可以使用http连接,这就要求服务器程序至少有一部分功能是运作在
  web服务器上的(除非你在服务器程序中嵌入jetty之类的东东)。
  http连接的无状态特性也是个问题,你需要想办法让服务器知道每次的连接是哪个客户端发起的。
  所以更好的选择是socket连接。
  socket连接的数据交换都是纯字节流的,所以我们必须定义出一种固定的数据包格式,
  以便区分不同的逻辑数据包。在服务器端有开源的网络通信框架:mina(java的)。
  它提供一些可拓展的逻辑数据包自定义接口供我们使用。一个比较简单的例子就是:
  每个数据包的开头都用一个int表示这个数据包的数据部分的字节长度,然后呢?
  聪明的你知道该怎么做了吧~
  客户端目前还么有看到有什么框架可用,自己动手实践吧,自己炒的菜才有味道,
  自己做的框架才有成就感,O(∩_∩)O~
  --标记:此处和代理服务器有关--
  移动互联网,只接中国移动。(不得不说下,中国移动这个“移动”从字面上霸占了移动互联网关键词,
  所以给我们个错觉就是一说“移动”就是中国移动。不过其他电信提供商,好吧,“电信”也被霸占了,在实力
  上真的远远落后于中国移动,至少在手机游戏接入上是这样。)现在几乎全部的手机网游首先接入的都是CMWAP。
  你可能要问,我们的服务器放在一个有独立IP的机房里,能上网的手机不就都能去访问了么?不然,这是一个历史问题。
  曾经的手机只能用WAP、GPRS上网,前者需要中国移动开放特定接口(我们称之为socket)才能接入,在访问速度和节省流量方面有些用处。
  这种特定的接口虽然可能,或者将要退出历史舞台,但目前还是根深蒂固地存在着。
  好吧,听说过的童鞋可能已经不耐烦了。说下socket到底是个甚吧。
  简单~就是个固定的IP地址和端口,客户端和它建立连接之后,立即发送指定的识别字节过去,它就会建立连接到我们的服务器,之后所有的数据都进行转发。
  Over。需要注意的是:我们的服务器一般需要放在移动ISP的机房里;指定的识别字节会原样转发给我们的服务器,
  这个特性破坏了上面提到的客户端通信数据结构,服务器需要在连接建立后做一些初始化工作以消除这些字节带来的影响。
  嗯嗯,****那个地方说的不对,有些大神可能都在发笑了,勿喷,求指正,求分享。
  ==割==
  写完重新检查了下,漏了一句:客户端需要单独的线程来处理网络通信,它是客户端仅有的几个线程之一。其他线程是什么?埋个伏笔吧。http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:UsersthinkAppDataLocalTempSGTpbq603604AFC1B.gif嘿嘿。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-348403-1-1.html 上篇帖子: 基于Tomcat7的WebSocket.兼容IE(客户端需Flash10) 下篇帖子: 把自己开发的网站前端开发框架和大家分享下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表