MessagingService
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
MessagingService ช่วยให้เซิร์ฟเวอร์ที่มีประสบการณ์เดียวกันสื่อสารกันในเวลาจริง (น้อยกว่า 1 วินาที) โดยใช้หัวข้อ หัวข้อเป็นสตริงที่กำหนดโดยผู้พัฒนา (1–80 ตัวอักษร) ที่เซิร์ฟเวอร์ใช้
การจัดส่งเป็นความพยายามที่ดีที่สุดและไม่ได้รับประกัน โปรดออกแบบประสบการณ์ของคุณเพื่อให้ความล้มเหลวในการจัดส่งไม่ใช่เรื่องสําคัญ
การส่งข้อความระหว่างเซิร์ฟเวอร์ สำรวจวิธีการสื่อสารระหว่างเซิร์ฟเวอร์ในรายละเอียดมากขึ้น
หากคุณต้องการเผยแพร่ข้อความแบบอนุกรมเพื่อให้เซิร์ฟเวอร์เกมทำงานได้, คุณสามารถใช้ Open Cloud APIs
ข้อจํากัด
โปรดทราบว่าข้อจำกัดเหล่านี้อาจมีการเปลี่ยนแปลง
<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>เวลา Unix ในวินาทีที่ข้อความถูกส่ง</td></tr></tbody>
สนาม | สรุป |
---|
มันจะแสดงจนกว่าสมาชิกจะลงทะเบียนอย่างถูกต้องและจะส่งคืนวัตถุการเชื่อมต่อ
เพื่อยกเลิกรายการ โปรดโทร 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)