TsgcWebSocketProxyServer › Zdarzenia › OnMessage

OnMessage Zdarzenie

Wywoływane za każdym razem, gdy podrzędny klient WebSocket wysyła wiadomość tekstową, przed przekazaniem jej przez proxy do nadrzędnego.

Składnia

property OnMessage: TsgcWSMessageEvent;
// TsgcWSMessageEvent = procedure(Connection: TsgcWSConnection; const Text: string) of object

Wartość domyślna

—

Uwagi

OnMessage jest wywoływane po odebraniu kompletnej ramki tekstowej od klienta WebSocket po niższym strumieniu. Parametr Text zawiera zdekodowany ciąg UTF-8, a parametr Connection identyfikuje sesję nadawcy. Proxy przekazuje ten ładunek do serwera TCP po wyższym strumieniu (Proxy.Host, Proxy.Port) zaraz po powrocie z procedury obsługi, co jest wygodnym miejscem do sprawdzania, rejestrowania lub modyfikowania wiadomości przed jej przekazaniem. Domyślnie NotifyEvents ma wartość neAsynchronous, a procedura obsługi jest wykonywana synchronicznie z wątkiem głównym, co sprawia, że jest bezpieczna do aktualizowania kontrolek interfejsu; dla serwerów proxy o dużej przepustowości należy ustawić NotifyEvents na neNoSync, aby uruchamiać w wątku połączenia i zaimplementować własną synchronizację. Jeśli Options.FragmentedMessages ma wartość frgOnlyFragmented, zdarzenie nie jest wywoływane, a ładunek jest dostarczany przez OnFragmented.

Przykład


procedure OnMessage(Connection: TsgcWSConnection; const Text: string);
begin
  ShowMessage('Message Received from Client: ' + Text);
end;

Powrót do Zdarzeń