MessagingService
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
MessagingService umożliwia komunikację serwerów tego samego doświadczenia w czasie rzeczywistym (mniej niż 1 sekundę) przy użyciu tematów. Tematy są zmienne ciągi znaków (1–80 znaków), które serwery używają do wysyłania i otrzymywania wiadomości.
Dostarczanie jest najlepszym wysiłkiem i nie jest gwarantowane. Upewnij się, że zaprojektujesz swoją wrażliwość, aby awarie dostarczania nie były krytyczne.
Cross-Server Messaging zbada sposób komunikacji między serwerami w większym szczególe.
Jeśli chcesz opublikować awaryjne wiadomości na serwerach gry, możesz użyć otwartych chmurowych interfejsów API.
Ograniczenia
Uwaga, że te limity podlegają zmianie.
<tbody><tr><td><b>Wielkość wiadomości</b></td><td>1kB</td></tr><tr><td><b>Wiadomości wysyłane na serwerze gry</b></td><td>600 + 240 \* (liczba graczy na tym serwerze) za minutę</td></tr><tr><td><b>Wiadomości otrzymane za temat</b></td><td>(40 + 80 \* liczba serwerów) za minutę</td></tr><tr><td><b>Wiadomości otrzymane dla całej gry</b></td><td>(400 + 200 \* liczba serwerów) za minutę</td></tr><tr><td><b>Subskrypcje umożliwione na każdym serwerze gry</b></td><td>20 + 8 \* (liczba graczy na tym serwerze)</td></tr><tr><td><b>Subskrybuj wnioski na serwerze gry</b></td><td>240 wątków prośb na minutę</td></tr></tbody>
Ograniczenie | Maksymalny |
---|
Podsumowanie
Metody
Wykonuje dostarczony wcześniej zwrotny call백, gdy wiadomość jest wysyłana do tematu.
Zaczyna słuchać podanego tematu.
Właściwości
Metody
PublishAsync
Funkcja ta wysyła dostarczoną wiadomość do wszystkich subskrybentów tematu, wywołując ich zarejestrowane wezwania.
Zwrotuje wynik, aż wiadomość zostanie otrzymana przez backend.
Parametry
Określa, gdzie wysyłana jest wiadomość.
Dane do włączenia w wiadomość.
Zwroty
SubscribeAsync
Funkcja ta rejestruje wezwanie, aby zacząć słuchać podanego tematu. Wezwanie jest wzywane, gdy temat otrzymuje wiadomość. Można to zadzwonić wiele razy dla tego samego tematu.
Zwrot
Kwota jest wzywana z jednym argumentem, tabela zawierająca następujące wpisy:
<tbody><tr><td><b>Dane</b></td><td>Zasilany przez programistę ładowanie</td></tr><tr><td><b>Wysłano</b></td><td>Czas UNIX w sekundach, w których wysłano wiadomość</td></tr></tbody>
Pole | Podsumowanie |
---|
Wygeneruje do czasu, aż subskrypcja zostanie prawidłowo zarejestrowana i zwróci obiekt połączenia.
Aby się odsubskrybować, wezwij Disconnect() na obiekcie zwróconym. Po wezwaniu powinien nigdy nie być wzywany. Zabijając skrypt zawierający połączenia, powoduje również, że połączenie podstawowe zostanie odsubskrybowane.
Zobacz również MessagingService:PublishAsync(), który wysyła dostarczoną wiadomość do wszystkich subskrybentów tematu, wywołując ich zarejestrowane wezwania, aby zostać wykonane.
Parametry
Określa, gdzie słuchać wiadomości.
Funkcja do zadzwonienia za każdym razem, gdy jest otrzymywana wiadomość.
Zwroty
Połączenie, które można użyć do odsubskrypcji z tematu.
Przykłady kodu
local MessagingService = game:GetService("MessagingService")
local Players = game:GetService("Players")
local function onPlayerAdded(player)
--subscribe to the topic
local topic = "player-" .. player.UserId
local connection = MessagingService:SubscribeAsync(topic, function(message)
print("Received message for", player.Name, message.Data)
end)
player.AncestryChanged:Connect(function()
-- unsubscribe from the topic
connection:Disconnect()
end)
end
Players.PlayerAdded:Connect(onPlayerAdded)