3

サーバー(IPアドレスとポート)とのtcp ip接続を確立するためにindyクライアントを使用しています。ボタンをクリックするだけで次のコードを作成しました。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 port) で telnet コマンドを使用して、指定されたポートと ip でサーバーとの tcp 接続を試みたところ、次のメッセージが表示されました。

「xxx.xxx.xx.xxx への接続が確立されました。ポート xxxx でホストとの接続が確立されていない可能性があります: 接続エラー」

これの解決策を教えてください...

皆さんありがとう。これで、ポートを使用できるようになりました。したがって、IdTCPClient1.Connect でエラーは発生しません。//接続します。しかし、サーバーからデータを読み取ろうとしている次の行 (sMsg := IdTCPClient1.Socket.ReadLn;) では何も起こっていません。telnet から試みると、サーバーからさまざまな文字が読み取られます。この理由は何でしょうか?

4

0 に答える 0