3

我正在使用 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;)当我尝试从远程登录时,从服务器读取了一些杂项字符。这可能是什么原因?

4

0 回答 0