一个GameLogin的IOCP问题..多个客户端连接上来以后,如何精确去连接游戏服务器?标题可能说不清楚..举个例子:比如我写了一个GameLogin.exe转门负责请求登陆..客户端连接我以后,验证帐号密码成功以后,就把他转到GameServer去进行游戏..然后Gameserver会返回信息告诉我是否已经成功登陆游戏..现在比如有100个用户同时请求要登陆..相当于有100个客户端的Client SocketID...然后我单独建立了一个socket连接到GameServer....
问题:
我单独建立的这个连接GameServer的socket..是否可以绑定到IOCP啊??????客户端来请求登陆..和我GameLogin的关系是---1对n...但是如果要和Gameserver通信..那就相当于还要面临一个  n对1 的问题啊...我都不知道怎么让GameServer返回来的数据,和这么多客户端句柄一一对应起来...
这个架构应该是有问题的..只探讨技术细节.不讨论架构好坏啊.呵呵..

解决方案 »

  1.   


    有客户端管理...Login维护几百上千个客户端不是问题,问题是怎么把这几百上千用户的请求发到GameServer,并且一一对应哦...
      

  2.   

    明白你的问题了,为什么要这样做呢?首先要明白分开两个服务的原因,如果GameLogin仅仅是充当用户验证,那大可把客户端直接连接到GameServer上,然后由GameServer发送验证信息到GameLogin上进行验证,失败则断开客户端,反之。
    如果是做负载平衡的,那就有很多方法了。
      

  3.   

    就是要负载平衡啊...又要负载平衡,又要防止被恶意攻击啊..从安全上考虑来说..登陆服务器被干掉了,也不影响GameServer吧??不过该干掉还是能干掉.很纠结咯..追加一个问题啊..我Login要获取客户端真实IP地址和端口怎么办啊??getpeername获取的都是192.168.1.1这种啊.这个更纠结了啊