急!求助,Delphi数据转发服务器设计!在线等待!
这次的项目,是对已投入使用的程序做修改,Delphi的源码。
原来的设计是这样的,外网,600-1000个GPRS客户端,连接到一个服务器A。
但现在客户要求能开多个服务器,也就是说,原来只与一个服务器通讯的客户端,可能要与多个服务器通讯。
通讯有两种:一种类似心跳,只要接收到,就发给全部的服务器,另外一种,是服务器发指令给某个客户端,某个客户端回应。
我目前的设计是,在中间加一个代理服务器,通过代理服务器的SocketServer链接外网客户端,SocketClient链接内网的服务器A、B、C……,至于要创建几个内网SocketClient通过取数据库中的在线服务器表来获得。在接收到心跳时SocketServer将数据交给每个SocketClient发送,在接收到服务器A的指令时,交给SocketServer发送。
现在有几点疑惑:
1、内网服务器A、B、……是不是只能从数据库中的在线服务器表来获得?这好像是最原始的办法。
2、服务器A发送出来的指令,是发给外网的哪个客户端,怎么识别?指令上没有标识,以前是直接连接,可以保持这个链接,现在有个中介的服务器隔着。
因为以前没有做过服务器这块,还是个菜鸟,呵呵。
不知道有没有更好的办法,希望各位大侠多多指点。