MessagingService
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
บริการส่งข้อความ ช่วยให้เซิร์ฟเวอร์ของประสบการณ์เดียวกันสามารถสื่อสารกับเซิร์ฟเวอร์อื่นได้ในเวลาจริง (น้อยกว่า 1 วินาที) โดยใช้หัวข้อหัวข้อเป็นสตริงที่กำหนดโดยผู้พัฒนา (1–80 ตัวอักษร) ที่เซิร์ฟเวอร์ใช้ส่งและรับข้อความ
การจัดส่งเป็นความพยายามที่ดีที่สุดและไม่ได้รับประกัน ตรวจสอบให้แน่ใจว่าออกแบบประสบการณ์ของคุณเพื่อให้การล้มเหลวในการจัดส่งไม่สำคัญ
การส่งข้อความระหว่างเซิร์ฟเวอร์ สำรวจวิธีการสื่อสารระหว่างเซิร์ฟเวอร์ในรายละเอียดมากขึ้น
หากต้องการเผยแพร่ข้อความชั่วคราวไปยังเซิร์ฟเวอร์เกมสด คุณสามารถใช้ เปิด API เมฆเปิด
ข้อจํากัด
โปรดทราบว่าข้อจํากัดเหล่านี้อาจมีการเปลี่ยนแปลง
<th>สูงสุด</th></tr></thead><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
ฟังก์ชันนี้ลงทะเบียนการเรียกกลับเพื่อเริ่มฟังหัวข้อที่กำหนดไว้การเรียกคืนจะถูกเรียกเมื่อหัวข้อได้รับข้อความสามารถเรียกได้หลายครั้งสำหรับหัวข้อเดียวกัน
การโทรกลับ
การเรียกคืนจะถูกเรียกด้วยอาร์กิวเมนต์เดียวโดยมีตารางที่มีรายการต่อไปนี้:
<th>สรุป</th></tr></thead><tbody><tr><td><b>ข้อมูล</b></td><td>ผู้พัฒนาจัดหาเพย์โหลด</td></tr><tr><td><b>ส่ง</b></td><td>เวลา Unix ในวินาทีที่ข้อความถูกส่ง</td></tr></tbody>
ฟิลด์ |
---|
มันให้จนกว่าสมัครจะได้รับการลงทะเบียนอย่างถูกต้องและส่งคืนวัตถุการเชื่อมต่อ
เพื่อยกเลิกการสมัครรับข้อมูล โทร Disconnect() ไปที่วัตถุที่ส่งคืนเมื่อเรียกแล้ว คอลเลกชันการโทรกลับไม่ควรถูกเรียกใช้การฆ่าสคริปที่มีการเชื่อมต่อยังทำให้การเชื่อมต่อพื้นฐานถูกยกเลิกการสมัครสมาชิก
ดูเพิ่มเติม MessagingService:PublishAsync() ซึ่งส่งข้อความที่ให้ไว้ไปยังผู้สมัครรับข้อมูลทั้งหมดสำหรับหัวข้อนั้น ทำให้การโทรกลับที่ลงทะเบียนไว้ถูกเรียกใช้
พารามิเตอร์
กำหนดว่าจะฟังข้อความที่ไหน
ฟังก์ชันที่จะถูกเรียกใช้เมื่อได้รับข้อความ
ส่งค่ากลับ
การเชื่อมต่อที่สามารถใช้เพื่อยกเลิกการสมัครรับข้อมูลจากหัวข้อ
ตัวอย่างโค้ด
This example demonstrates how to use MessagingService:SubscribeAsync() to listen to a topic for cross-server chat within a game universe.
When a player joins, the example subscribes to the topic player-<player.UserId>. When a message is sent with this topic, the connected callback executes and prints Received message for <player.Name">. It also disconnects the connection when the player's ancestry changes.
In order for this to work as expected it must be placed in a server Script.
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)