猫游-记,妖魔-道类MUD服务器构架探讨1
只要跟踪你会发现,当猫游记进入游戏载入界面基本完成后.他会连接一个8080端口,进行通讯.抓包得到通讯内容头为:
HTTP/1.0 200 OK Server: IO Server Date: Tue Apr 27 16:21:08 CST 2010 Cache-Control: no-cache,no-store,max-age=0 Pragma: no-cache Content-type: text/html; charset=gbk 信息收发器... OK!
服务器不是apache也不是IIS,服务器它自己写明是IO server ,那么他是做什么用的呢?
接着下面会一直持续的收到JS脚本来对界面就行控制.类似如下:
<mce:script type="text/javascript"><!-- var p=parent; p.initWorker(); // --></mce:script> <mce:script type="text/javascript"><!-- p.cls(); p.cps(zone); p.setRoom(白马河口00,true); p._roomDesc(白马河口00,,[]); p.addNpcs(p._getNpc(0,老船长,40055669416137,老船长,0,true,false)+p._getNpc(1,韦板凳,40055689516655,韦板凳,0,true,false)+p._getNpc(2,利齿鱼龙 <font color=ff0000>炎1</font> ,40055709617173,利齿鱼龙,-1,null,false)+p._getNpc(3,海马I <font color=0000ff>寒1</font> ,40055729717691,海马I,-1,null,false)+p._getNpc(4,人鱼铁卫 <font color=0ceacb>气1</font> ,40055749818209,人鱼铁卫,-1,null,false)+p._getNpc(5,沙魔 <font color=af6b00>土1</font> ,40055769918727,沙魔,-1,null,false)+p._getNpc(6,青蛙王子Q <font color=0ceacb>气1</font> ,40055790019245,青蛙王子Q,-1,null,false)+p._getNpc(7,人鱼铁卫 <font color=0ceacb>气1</font> ,40055810119763,人鱼铁卫,-1,null,false)+); // --></mce:script>
仔细看,就知道,这些JS脚本有什么用了.对这是用来对客户端IE进行控制的脚本.
有人也许会立即反驳.HTTP协议是短连接,怎么可能一直收到接下来的数据呢.呵呵,而且他没有用AJAX技术去循环取呀.
那你说,一起在没有AJAX的时候,程序员们用什么方式来做聊天室程序呢?
这个下一次会给大家介绍那门子技术的.
下面提供一张该类游戏的服务器构架简图:
嗯,这次就讲这么多了,下次给大家讲讲游戏服务器到IE这端使用的技术.
