TsgcTURNServer이벤트 › OnTURNCreateAllocation

OnTURNCreateAllocation 이벤트

클라이언트에 대해 새 Allocation이 성공적으로 생성된 후 발생합니다.

구문

property OnTURNCreateAllocation: TsgcTURNAllocationEvent;
// TsgcTURNAllocationEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; const Allocation: TsgcTURNAllocationItem) of object

기본값

설명

성공적인 ALLOCATE당 한 번씩, Allocation이 서버의 내부 테이블에 추가되고 AllocateResponse가 클라이언트에 디스패치된 직후에 발생합니다. Allocation은 전체 컨텍스트를 노출합니다: LocalIP/LocalPort(서버 측 수신 엔드포인트), ReflexiveIP/ReflexivePort(클라이언트의 매핑된 주소), RelayIP/RelayPort(XOR-RELAYED-ADDRESS를 통해 클라이언트에 광고되는 중계 전송 주소), Username/Realm, Lifetime / ExpiryPermissions / Channels 하위 컬렉션. 운영 대시보드, 회계 또는 사용자별 할당량을 업데이트하는 데 사용하십시오. Allocation 인스턴스는 서버가 소유합니다. 해제하지 마십시오. 할당이 만료될 때 OnTURNDeleteAllocation에 다시 전달됩니다. NotifyEvents가 리디렉션하지 않는 한 리스너 스레드에서 실행됩니다.

예제

procedure TForm1.OnTURNCreateAllocation(Sender: TObject;
  const aSocket: TsgcSocketConnection; const Allocation: TsgcTURNAllocationItem);
begin
  Memo1.Lines.Add(Format('Allocation created: user=%s relay=%s:%d lifetime=%d',
    [Allocation.Username, Allocation.RelayIP, Allocation.RelayPort,
     Allocation.Lifetime]));
end;

이벤트로 돌아가기