分为两部分
1.CS版本的Client和Server端,Server负责发送包和维护socket链接。
2.java对魔兽的抓包处理
关键技术
1,监听主机(建立了魔兽地图的机器)的地图信息。
有两种方法能获得地图信息,一种是抓包,把所有的和6112端口有关的包都抓过来分析。(个人觉得这样电脑的负担太大了)。现在的多数搜索器都是这样实现的。
建立一个线程。每5秒钟发送一个包收索本机是否建立主机。如果自己建立了主机,则会返回一个地图信息包。收到之后告诉其他ip“我建主了”;
这样客户端就不需要一直发送搜索包了。
找到了主机,一切都好办了。
2,告诉别人我建主机了
如何告诉别人我建立了主机。很简单,建立了主机的魔兽会每5秒钟发送一个包给当前网段,告诉别人我建主机了。
我们只要把这个包发送到其他ip的6112端口就ok了。就是告诉别人“我建主了”,收到的人就会发送一个包:“看看什么图”,然后主机就会回复一个包,没错这就 是地图信息!
3,解析地图
不解析地图不会对游戏产生任何影响。因为魔兽接受地图包,自己解析,它很明白这图是什么。但是解析地图,你可以知道主机建立的这个地图是什么,主机叫什么 名字,有几个人加入,有几个电脑。还有几个空位置。主机是什么版本。这些很有用的信息在软件上显示出来时很有用的!
网速需求: