后来BAIDU了下可能架设的问题,居然有这样的说明:
BILLING数据库里有SERVER开头的几个表,记录几个服务器程序间通讯和端口占用情况。
SERVER-INFO,里面记录着各个程序的IP和服务器用的标识
SERVER-CONX,这个是定义服务器程序间通讯用的PORT情况的
SERVER-ACCEPTX,这个跟上面的差不多~只不过上面是相当于定义程序用哪个PORT去联络另外一个程序,这个是定义程序允许程序通过哪个口联络自己~可能我没表达清楚~就看你理解力了~:)
先做个定义:A=2001 B=3001 C=3003
韩服其实开了两个服务器来负担游戏~两个服务器其实看上去都是一个~你是感觉不出来的~:)
你登陆的时候,通过A连接进去~并看到很多服务器~在数据库里,用CHANNEL来描述和定义这些房间这里面名字就不用说了~其中有一个字段全是3001 3003这些~就靠他们来定义进哪个服务器,补上一句:前面我们定义了A,B,C,其中A,负责登陆~B、C就是两台服务器程序。通过定义使那些房间分布在这两台服务器上~
服务器只认3001 3003这些~这些怎么定义的?就在SERVER-INFO里面
另外两个是定义PORT的
这几个程序工作方式是这样的,启动的时候读取SERVER开头那几个表的内容
从SERVER-INFO里找到自己所对应的标识,就是2001.3001.3003这些~然后再从另外两个表读取PORT信息来BIND PORT。
其实我们测试只需要用到A、B,C用不到~所以你就可以修改数据库里,把所有关于3003的行删除。
现在明白了为什么工作不正常了?呵呵~其实关键就在于SERVER-INFO~也就是说程序是靠IP来判断自己的UID~这就是说LOGIN SERVER和GAME SERVER需要在两个IP下运行,并且需要在SERVER-INFO里面设置对……这样是的话就可以了~连接默认的端口是3153
这个你应该能从数据库里分析出来~数据库里用1000代表客户端
最后就是CHANNEL里面对应的把所有的server-num改成3001,因为你只有3001