掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
IdTCPでソケット通信をして再接続 (ID:48051)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>通りすがり様 Wiresharkを使用してみましたが、PC内のアプリケーション間に対しての プロセス通信のためか、送信したと思われるパケットが見つかりませんでした。 使い方が間違っていたのでしょうか。 >KHE00221様 サーバ側が返した'OK'はクライアント側で受信できていることは確認しています。 >take様 IdTCPClient1.Connectedはtrueを返していますが、データを送信してもサーバ側の IdTCPServer1Execute()に来ていないことまでは確認しています。 以下のようなプログラムで接続をしています。 ・クライアント側の接続処理 IdTCPClient1.Host := 'XXX.XXX.XXX.XXX'; IdTCPClient1.Port := XXXX; IdTCPClient1.Connect; if (IdTCPClient1.Connected = false) then begin MessageDlg('サーバに接続できません。', mtError, [mbOK], 0); Exit; end; ・クライアント側の切断処理 if (IdTCPClient1.Connected = true) then begin if (IdTCPClient1.IOHandler <> nil) then begin if (IdTCPClient1.IOHandler.InputBuffer <> nil) then begin if (IdTCPClient1.IOHandler.InputBuffer.Size > 0) then begin IdTCPClient1.IOHandler.InputBuffer.Clear; end; end; end; IdTCPClient1.Disconnect; IdTCPClient1.IOHandler.Free; end; ・サーバ側の受信→応答 procedure IdTCPServer1Execute(AContext: TIdContext); begin sBuf := AContext.Connection.IOHandler.ReadLn(); サーバ側で処理を実行 TIdContext(IdTCPServer1.Contexts.LockList[0]).Connection.IOHandler.WriteLn('OK'); end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.