인디 UDP 서버 구성 요소는 마우스 커서가 서버 구성 요소를 포함하는 양식 위로 이동할 때만 새 메시지가 나타나기 때문에 Windows 메시지에 의존하는 것으로 보입니다.콘솔 응용 프로그램에서 TIdUDPServer를 어떻게 사용할 수 있습니까?
private
{ Private declarations }
Srv: TIdUDPServer;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
Srv := TIdUDPServer.Create(Self);
Srv.DefaultPort := 9009;
Srv.OnUDPRead := Self.udpServerUDPRead;
Srv.Active := True;
end;
내가 콘솔이나 서비스 응용 프로그램을 선호하는 것 :
은이 코드를 사용하여 런타임에 구성 요소를 만들었습니다. 이 구성 요소를 작동 시키려면 (보이지 않는) 창 핸들 + 일부 창 메시지 대기열 코드가 필요합니까?업데이트 : 일부 (씨께 서 비공식적) documentation는 말한다 : 활성이 인바운드 UDP 패킷을 수신 할 수있는 청취 스레드를 생성
TIdUDPServer. ... ThreadedEvent가 false이면 OnUDPRead 이벤트가 주 프로그램 스레드의 컨텍스트에서 실행됩니다. ThreadedEvent가 true 일 때리스너 스레드 컨텍스트에서 OnUDPRead 이벤트가 발생합니다.
유용 할 수 있습니다. http://stackoverflow.com/questions/4359635/udp-server-and-client-in-delphi –
Windows 메시지에 의존하지 않습니다. –