サーバー(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 から試みると、サーバーからさまざまな文字が読み取られます。この理由は何でしょうか?