在delphi中进行tcp ip连接时出现套接字错误

时间:2012-11-19 05:57:07

标签: delphi sockets networking tcp delphi-xe2

我使用indy客户端与服务器(IP地址和端口)建立TCP连接。我点击了一个按钮就编写了以下代码。我尝试将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;

但我在线路调试时收到套接字错误10061连接被拒绝 IdTCPClient1.Connect; //建立连接

我尝试在给定端口上使用服务器进行tcp连接,并使用cmd(telnet ip port)上的telnet命令进行ip连接,并收到以下消息

“建立到xxx.xxx.xx.xxx的连接,可能没有与主机建立连接,端口xxxx:连接错误”

请为我建议解决方案......

谢谢大家。现在我可以使用该端口了。所以在IdTCPClient1.Connect没有错误; //建立联系但是现在我正在尝试从服务器读取数据的下一行没有发生任何事情(sMsg:= IdTCPClient1.Socket.ReadLn;)当我从telnet尝试时,从服务器读取一些杂项字符。这可能是什么原因?

0 个答案:

没有答案