ソケットからデータを読み取る Delphi 2009 アプリケーションを作成する必要があります。これを行うには、イベントのイベント ハンドラーを作成する必要がありTIdTCPServer.OnExecute
ます。
これを GUI アプリケーションに実装する例はたくさん見つかりましたが、(ウィンドウなしで)コンソールアプリケーションで実行する必要があります。
TCPServer
受信したすべてのメッセージをデバッグ出力に出力するイベント ハンドラーを追加 (にアタッチ) するには、以下のコードをどのように変更すればよいですか?
unit ReceivingThreadUnit;
interface
uses
Classes,
IdTCPServer,
IdSocketHandle,
SysUtils,
Windows;
type
ReceivingThread = class(TThread)
private
TCPServer: TIdTCPServer;
public
procedure Run();
end;
implementation
procedure ReceivingThread.Run();
var
Bindings: TIdSocketHandles;
begin
TCPServer := TIdTCPServer.Create(nil);
//setup and start TCPServer
Bindings := TIdSocketHandles.Create(TCPServer);
try
with Bindings.Add do
begin
IP := '127.0.0.1';
Port := 9998;
end;
try
TCPServer.Bindings:=Bindings;
// Here I want to attach TCPServer to an OnExecute event handler
TCPServer.Active:=True;
except on E:Exception do
OutputDebugString(PChar(E.ToString));
end;
finally
Bindings.Free;
TCPServer.Free;
end;
TCPServer.Active := true;
end;
end.