Q&A

  • Indy UDPServer 사용시....
폼을 생성해서 컴포넌트 추가해서 하면 아주 작동이 잘 되는데....

일반 클래스 안에서 사용하고 싶은데... 메시지를 한번 밖에 받지 못하네요....

<!--CodeS-->

type
  TUDP = class
    udpServer: TIdUDPServer;
    procedure udpServerUDPRead(AThread: TIdUDPListenerThread; AData: TBytes;
      ABinding: TIdSocketHandle);
  public
    constructor Create;
  end;

implementation

constructor TUDP.Create;
begin
  udpServer := TIdUDPServer.Create(nil);

  udpServer.DefaultPort := 8888;
  udpServer.BroadcastEnabled := True;
  udpServer.BufferSize := 8192;
  udpServer.IPVersion := Id_IPv4;
  udpServer.OnUDPRead := udpServerUDPRead;
end;

procedure TUDP.udpServerUDPRead(AThread: TIdUDPListenerThread; AData: TBytes;
  ABinding: TIdSocketHandle);
begin
  // 코딩....
end;

<!--CodeE-->

udp메시지(브로드캐스트 메시지)를 3번 보냈는데도... udpServerUDPRead 이벤트를 한번 밖에 안타네요....
왜 그럴까요????
똑같은 코딩으로 Form에 컴포넌트 추가하면 잘 되는데용...ㅠㅠ
0  COMMENTS