我想写一个TcpServer和TcpClient通信的例子,现在连接都有问题,同一台机器上。
Server:procedure TForm1.FormCreate(Sender: TObject);
begin
IdTCPServer1.DefaultPort := 9001;
IdTCPServer1.Active := True;
end;
Client:procedure TForm1.Button1Click(Sender: TObject);
begin
Self.IdTCPClient1.Host := '127.0.0.1';
Self.IdTCPClient1.Port := 9001;
try
IdTCPClient1.Connect;
except on E: Exception do
showmessage(E.Message);
end;
end;
可是在客户单连接时会报错:“Socket error # 10061 Connection refused”。
我不知道哪里出了问题。
Server:procedure TForm1.FormCreate(Sender: TObject);
begin
IdTCPServer1.DefaultPort := 9001;
IdTCPServer1.Active := True;
end;
Client:procedure TForm1.Button1Click(Sender: TObject);
begin
Self.IdTCPClient1.Host := '127.0.0.1';
Self.IdTCPClient1.Port := 9001;
try
IdTCPClient1.Connect;
except on E: Exception do
showmessage(E.Message);
end;
end;
可是在客户单连接时会报错:“Socket error # 10061 Connection refused”。
我不知道哪里出了问题。
只不过在idTCPServer1里bind了127.0.0.1:9001用单步调试,看看你的FormCreate确定运行了吗?
procedure TForm1.FormCreate(Sender: TObject);
var
Binding: TIdSocketHandle;
begin
Self.IdTCPServer1.Bindings.Clear;
Binding := Self.IdTCPServer1.Bindings.Add;
Binding.IP := '127.0.0.1';
Binding.Port := 9001;
Self.IdTCPServer1.Active := True;
end;我这么写也不行啊,也报同样的错误,而且跟踪了,确实执行了这段代码