为什么不能做一个拳皇97联机对战平台的模式

war3联机对战原理以及T人挂原理简述 - iamdanger - 博客园
随笔 - 15, 文章 - 0, 评论 - 0, 引用 - 0
前日玩DOTA一连输几把,好不容易最后一把推上对方高地了,却被主给T了。痛定思痛,最近几天,我潜心研究了下魔兽T人挂,在这与喜欢DOTA的朋友分享下。
首先谈谈局域网魔兽的联机机制吧。这部分我没有切肤之痛,所以也没深钻,只是想告诉大家我们开启魔兽或者主机建主都要对同一个网段发送各种各样的UDP广播包,注意,在这我是说同一个网段,这也就解释了为什么我们同一个学校的学生在学校局域网上玩DOTA还要用某个小软件,而不能直接看到,网段和局域网还是有区别的,在这我就不详解了。然后当我们点击&进入游戏&时,便与其他人建立了TCP连接。如图:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
上图中间那台为主机,注意,我这里只是画出了其他9台机子与主机的TCP连接,而实际上这10台机子两两之间都是有TCP连接的。我们可以在玩DOTA的时候从桌面上点击:开始 - 运行 - 输入cmd - 输入netstat -n回车,可以查看到这些TCP连接(显示的列表还有你其他进程此时的TCP连接,哪些是war3的用排除法应该就能找出),即使不是主机,也能看到18条TCP的连接(为什么会多一倍呢?嘿,有去有回呗)。聪明的童鞋会问了,那我为什么多此一举画个图出来还只标主机的9条(实际18条....)?因为啊,非主机之间的的TCP连接平时是不用的,我们的数据都是通过主机传输,所以我还故意标了显眼的红色。有人又要问了,明明有直通的还绕远,暴雪SB啊??这个是基于服务器/客户机技术模式所必须的,在这我就不深谈了,但有一点是显然的,其实效率并不会低多少,一般我们的一个动作的数据,总是要发给所有人的(不能9台机子上牛都跳了,而有一台机子上还没跳吧,那撼地神牛哭了),如此一来,用两种方式数一数走的路子应该是一样的。由此可见,一台好的主机在一场犀利的战役中是多么的重要,在此,我再次强烈呼吁那些&小霸王&就别建主!!当然,非主机之间的TCP连接也不是没用,比如在魔兽中我们与某位玩家私聊,或者主机退了(魔兽会马上将另外一个玩家选为主机),那些个TCp连接中的一对或一些就会有用处了。
刚才说的是局域网玩DOTA的环境,下面再谈谈在对战平台上又如何。平台在其中所扮演的角色,比如用户ID与游戏名的绑定、让我们能看到Internet上有人建主、积分核算。。。这我都不深谈了。只是说说和做T人挂相关的一点。上面我提到游戏中10名玩家之间建立的是TCP连接,主机作为TCP的服务器端,非主机是客户端,此时我们最关键的问题,其实也是对战平台最关键的问题来了:没办法在Internet上实现两个非服务器主机之间的直接TCP连接!!!(注意,我在这扫下盲,服务器与客户机不是一个单纯的称谓,它们各自其中维系通信的代码是有很大区别的,就像我们打电话,电话接起来后都一样,但是接之前,两端干的事断然不同),而至于为什么不能直接TCP连接,我在这就不阐述了,要说起来too long too long....(其实为什么要用C/S模式以及这里为什么不能直接相连,想想我举的打电话例子应该能悟出一二)。
那对战平台是怎么实现在Internet上通过War3的局域网模式连接对战的呢?简单来说是如果A建了一个主机,B要进A的主机,A通过平台转发过来的消息知道B要连接主机,就在自己本地创建一个TCP的客户端,让这个客户端与war进程的服务端连接,在魔兽中就相当于有玩家B连接进A主机建立的游戏,同时B主机在自己本地创建一个TCP服务端,让War进程的TCP客户端连接到自己本地的服务端。既然都是在本地建立的TCP连接,那么怎么实现主机和非主机的游戏数据交换的呢??
&&&&&&&&&&&&&&&&&&&&&&&
从上面的图可以看出,War3主机和非主机的数据交换,其实是在两个本地模拟创建的TCPsever和TCPClient之间进行的,当主机有数据要发给非主机,先会将数据发给主机本地的TCPClient,然后对战平台会从TCPClient数据缓冲池中取出数据,通过UDP的方式,发给非主机,非主机会将UDP数据放入TCPServer的发送数据缓冲池,由它发给魔兽进程中的TCPClient,反过来一样,这样就实现了魔兽数据的完成传输,Internet上的联网对战也就实现了。如果此时按照我以上所述输入netstat -n来查看,会看到与本机war3进程通信的9对TCP连接的源IP和目的IP都是127.0.0.1,这是一个环回地址,也就是本机IP地址。
在这我还要强调一点,只要我们点击了&进入游戏&之后,对战平台基本上就与我们脱离了,此刻我们就像在一个局域网玩一样,游戏中的数据是基本不经过平台的,所以上图也没画出来。当然,除了类似&HF小贴士&之类的东西强行给我们看。
以上说了那么那么长一段废话,现在我来揭露T人挂是怎么做到的:从上图我们应该可以获得答案。如果主机关闭了本地用来接受远程非主机传输的UDP信息的那个TCPClient,那么很显然,主机将不能获得这个非主机信息,远程的那个非主机也不能收到主机转发的游戏数据包了,这个时候这个非主机War3进程理所当然的认为自己与主机失去了连接,T人挂的目的也就达到了。由此,结合第一个图以及我上面部分的阐述,可以发现只有主机才能T人,想要做一个非主机T人的挂就不好办了(特殊手段不排除,但我没见过),当然,如果主机退了,后来充当主机的那个也能较容易的实现T人。
真相揭露到这还没有结束,不然怎么能说我是真怒了。现在瞌睡了先到这,在下篇我将具体谈一下利用以上结论如何写一个T人挂。&
虽然现在这年头十人九挂的,但是我写这个绝不是为了纵容恶习进一步地滋生。仅仅是分享给喜欢DOTA、喜欢魔兽、钟情对战平台的朋友来了解其中的奥妙,极端洁癖人士别喷我。扫描关注游侠网
热门资讯排行
精品手机游戏
热门游戏专题
赛车竞速RAC(英文)
动作游戏ACT(英文)
角色扮演RPG(中文)
小游戏在线玩当前位置: >
贪吃蛇大作战对战模式联机的方法步骤一览
  对战模式中怎么才能联机一起玩呢?官方即将开放联网对战模式,小伙伴们终于可以跟好友联机对战了。那么游戏中该怎么跟好友联机对战,是目前很多玩家非常关心的事情。第一手游网小编带来了联机的方法步骤,一起来看看下文吧!
贪吃蛇大作战
  1、首先点击“对战模式”,PS:目前仅对部分玩家开放此模式,其他玩家需要等测试完正式上线后才有。
  2、在对战界面点击开始匹配,系统会自动给你匹配对手,稍等一会即可进入联网对战房间,当然你也可以邀请自己的好友一起进入房间对战。
  3、进入对战游戏后,你会发现左上角有个网络延迟标志,网络的流畅度会直接影响到你的游戏体验,所以建议大家尽量使用wifi来进行对战。
  PS:这里面可都是真正的玩家喔~考验大家技术的时候到了。
  欢迎玩家收藏关注贪吃蛇大作战官网专区,只需要在百度输入【贪吃蛇大作战第一手游网】就可以直接下载安卓安装包,同时贪吃蛇大作战攻略专区提供最新的金币攻略及高手视频。下载尽在第一手游网。
相关版本贪吃蛇大作战版本下载
类型:休闲益智
特色:冒险竞技
状态:正式运营
大小:90MB
微信扫一扫免费秒领礼包
扫二维码或添加微信号:wx_diyiyou关注“第一手游网”
回复“贪吃蛇大作战礼包”即可免费领取贪吃蛇大作战最新礼包!
回复“贪吃蛇大作战”即可查看贪吃蛇大作战最新活动攻略!
赶快扫一扫吧~
相关蛇蛇长度攻略阅读
热门手机网游下载
10动作格斗
10飞行射击
开服名称:群侠3区 开服时间:01-18 17:00
开服名称:永恒神殿(1服) 开服时间:01-18 17:28
开服名称:新服西游三十五服 开服时间:01-18 18:00
开服名称:新服幻城363区 开服时间:01-18 18:00
开服名称:安卓766区剑击长空 开服时间:01-18 18:00
开服名称:夙夜在公(混服S16 开服时间:01-18 18:00
开服名称:吕布55区 开服时间:01-18 19:30
开服名称:新区巅峰561服 开服时间:01-18 20:00
开服名称:新区永恒442服 开服时间:01-18 20:00
开服名称:100服-沙基拉开服时间:01-18 20:00
开服名称:纪元427服开服时间:01-18 20:00
开服名称:盛世112服开服时间:01-19 08:00
开服名称:乾坤无极(S877)开服时间:01-19 09:00
开服名称:IOS249服波澜不惊开服时间:01-19 10:00
开服名称:IOS传奇1155服开服时间:01-19 10:00
开服名称:iOS微信264区君子一开服时间:01-19 10:00
开服名称:葫芦158服开服时间:01-19 10:00
开服名称:iOS官服408服开服时间:01-19 10:00
09-10 16:58
09-12 10:35
09-08 11:54
09-13 10:52
09-10 16:32
09-03 18:01
09-10 16:26
09-18 14:01
09-03 17:31
09-08 13:19
下载第一手游APP
抵制不良游戏 拒绝盗版游戏 注意自我保护 谨防受骗上当 适度游戏益脑 沉迷游戏伤身 合理安排时间 享受健康生活 &&《健康游戏忠告》后使用我的收藏没有帐号?
所属分类: &
查看: 0|回复: 0
火影革命,怎么联机玩啊 一直不会联机模式
火影革命,怎么联机玩啊 一直不会联机模式
点这里&&&&
金鸡报晓送福利,手游新春感恩大回馈!}

我要回帖

更多关于 游侠对战平台怎么联机 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信