防止一台服务端不安全,想提供多台服务器端socket问题!很快揭帖!
我在两台机器上都提供Socket服务器端程序,
我客户端程序想如果第一台挂掉,客户端就连第二台!如下写法:
_sockC = new SocketClient(); //SocketClient为Socket客户端的构造类,构造函数里没做什么事
this._ServerIp =“192.168.0.3”;
this._Port = this._Port1;
_sockC.Connect(this._ServerIp,this._Port,_TimeOut);//Connect为SocketClient类中的一个方法
if(!_sockC.Connected)
{
_log.Writeline("Connect Remote Server Fail:"+this._ServerIp);
//更换服务2地址,端口
this._ServerIp = =“192.168.0.4”;
this._Port = this._Port2;
_sockC.Connect(this._ServerIp,this._Port,_TimeOut);
if(!_sockC.Connected)
{
_log.Writeline("Connect Remote Server Fail:"+this._ServerIp);
return;
}
}
现在发生奇怪问题,
如果3端服务开启,4端服务不管开启还是关闭,都是连接成功的!
如果3端服务关闭,4端开启,它就报两个连接都不成功。
server2端服务是没有问题的!
因为我把程序中的“192.168.0.3”,“192.168.0.4”互换,即先检查4是否可以连接时,
如果4端服务开启,3端服务不管开启还是关闭,都是连接成功的!
如果4端服务关闭,3端服务开启都是连接成功的!它就报两个连接都不成功。
问题怪就怪在,如果查询的第一个是失败的,后面一个一定也返回连接失败!没有达到设计目的
请高手指点一下!问题可能出在哪?很快揭帖!