我正在使用 indy 客户端与服务器(IP 地址和端口)建立 tcp ip 连接。我在单击按钮时编写了以下代码。我尝试将 Hello msg 发送到服务器,然后尝试从服务器读取消息。
procedure TForm1.Button1Click(Sender: TObject);
var
sMsg : string;
begin
try
IdTCPClient1.Port := xxxx; //Set port to connect to
IdTCPClient1.Host := 'xxx.xxx.x.xxxx'; //Set host to connect to
IdTCPClient1.Connect; //Make connection
sMsg := IdTCPClient1.Socket.ReadLn; //Read the response from the server
ShowMessage(sMsg);
except
on E : Exception do
begin
ShowMessage('Connection Error: ' + E.Message);
exit;
end;
end;
end;
但是在 IdTCPClient1.Connect 行进行调试时,我收到套接字错误 10061 连接被拒绝;//建立连接
我尝试使用 cmd(telnet ip 端口)上的 telnet 命令在给定端口和 ip 上与服务器建立 tcp 连接,我收到以下消息
“与xxx.xxx.xx.xxx建立连接,可能没有与主机建立连接,在端口xxxx:连接错误”
请建议我解决这个问题...
谢谢大家。现在我可以使用该端口了。所以 IdTCPClient1.Connect 没有错误;//建立连接。但是现在我尝试从服务器读取数据的下一行没有发生任何事情(sMsg := IdTCPClient1.Socket.ReadLn;)当我尝试从远程登录时,从服务器读取了一些杂项字符。这可能是什么原因?