MessagingService 는 서버가 동일한 경험의 서버가 주제를 사용하여 실시간으로 서로 통신할 수 있습니다(1초 이하). 주제는 서버가 메시지를 보내고 받는 데 사용하는 데이터 문자열(1–80자)입니다.
배달은 최선의 노력이지만 보장되지는 않습니다. 배달 실패가 크리티컬하지 않도록 경험을 설계하십시오.
크로스 서버 메시징 은 서버 간의 통신을 자세히 살펴봅니다.
게임 서버에 임시 메시지를 게시하려면 클라우드 API 사용 .
제한
이 제한은 변경될 수 있습니다.
<tbody><tr><td><b>메시지 크기</b></td><td>1KB</td></tr><tr><td><b>게임 서버별 메시지 전송</b></td><td>분당 600 + 240 \* (이 게임 서버의 플레이어 수)</td></tr><tr><td><b>주제별 메시지 수신</b></td><td>(40 + 80 \* 서버 수) 분당</td></tr><tr><td><b>전체 게임에 대한 메시지 수신</b></td><td>(400 + 200 \* 서버 수) 분당</td></tr><tr><td><b>게임 서버당 구독 허용</b></td><td>20 + 8 \* (이 게임 서버에 있는 플레이어 수)</td></tr><tr><td><b>게임 서버 구독 요청</b></td><td>분당 240개의 요청</td></tr></tbody>
제한 | 최대 |
---|
요약
메서드
메시지가 주제에 푸시될 때마다 지정된 콜백을 호출합니다.
지정된 주제를 듣기 시작합니다.
속성
메서드
PublishAsync
이 함수는 제공된 메시지를 모든 구독자에게 전송하고, 등록된 콜백을 트리거하여 호출합니다.
백엔드에서 메시지를 수신할 때까지 생성됩니다.
매개 변수
메시지를 보낼 위치를 결정합니다.
메시지에 포함할 데이터.
반환
SubscribeAsync
이 함수는 주제에 대한 청취를 시작하기 위해 콜백을 등록합니다. 콜백은 주제가 메시지를 받을 때 호출됩니다. 동일한 주제에 대해 여러 번 호출할 수 있습니다.
콜백
콜백은 단일 인수로 호출되며 다음과 같은 항목이 있는 테이블입니다.
<tbody><tr><td><b>데이터</b></td><td>개발자가 제공한 트럭</td></tr><tr><td><b>보냄.</b></td><td>메시지가 전송된 시간(초)</td></tr></tbody>
필드 | 요약 |
---|
구독이 올바르게 등록되면 반환하고 연결 개체를 반환합니다.It yields until the subscription is properly registered and returns a connection object.
구독을 취소하려면 반환된 개체에서 Disconnect()를 호출하십시오. 호출된 후 콜백은 실행되지 않아야 합니다. 연결을 포함하는 스크립트를 죽이면 기본 연결도 해제됩니다.
또한 이 항목의 모든 구독자에게 제공된 메시지를 보내는 MessagingService:PublishAsync() 를 참조하십시오. 등록된 콜백을 트리거하여 실행하도록 합니다.
매개 변수
반환
주제에서 구독을 취소할 수 있는 연결.
코드 샘플
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)