procedure Twinserver.btnStartClick(Sender: TObject);
var TIp:Tstrings;//绑定多个ip
i:integer;
intPort:integer;
binding:TIdSocketHandle;
begin
//先防止未输入端口错误造成的问题
if sEditPort.Text='' then
begin
showmessage('端口不能为空');
exit;
end;
intPort:=strtoint(sEditPort.Text);
//绑定ip与端口到服务器
Tip:=GStack.LocalAddresses;
Tip.Insert(0, '127.0.0.1');
intPort:=strtoint(sEditPort.Text);
binding:=IdTCPServer.Bindings.Add;
try
for i:=0 to Tip.Count-1 do
begin
binding.IP:=tip.Strings[i];
binding.Port:=intPort;
sMessage.Items.Add('服务器启动绑定IP为'+tip.Strings[i]+':'+inttostr(intPort));
end; statusBar.SimpleText:='服务器已在'+datetostr(now())+'成功启动';
IdTCPServer.Active := true;//启动服务
btnStart.Enabled:=false;
sEditPort.Enabled:=false; //如果加载不成功的话提示以下信息
except
showmessage('启动错误,请再次尝试');
exit;
end;end;连接127 不行 ,连接最后一个ip是可以的。 indy自带的例程改动过来的,原例程是可以绑定两个ip的
高手指点下
var TIp:Tstrings;//绑定多个ip
i:integer;
intPort:integer;
binding:TIdSocketHandle;
begin
//先防止未输入端口错误造成的问题
if sEditPort.Text='' then
begin
showmessage('端口不能为空');
exit;
end;
intPort:=strtoint(sEditPort.Text);
//绑定ip与端口到服务器
Tip:=GStack.LocalAddresses;
Tip.Insert(0, '127.0.0.1');
intPort:=strtoint(sEditPort.Text);
binding:=IdTCPServer.Bindings.Add;
try
for i:=0 to Tip.Count-1 do
begin
binding.IP:=tip.Strings[i];
binding.Port:=intPort;
sMessage.Items.Add('服务器启动绑定IP为'+tip.Strings[i]+':'+inttostr(intPort));
end; statusBar.SimpleText:='服务器已在'+datetostr(now())+'成功启动';
IdTCPServer.Active := true;//启动服务
btnStart.Enabled:=false;
sEditPort.Enabled:=false; //如果加载不成功的话提示以下信息
except
showmessage('启动错误,请再次尝试');
exit;
end;end;连接127 不行 ,连接最后一个ip是可以的。 indy自带的例程改动过来的,原例程是可以绑定两个ip的
高手指点下
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货