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(topic : string,message : Variant):void
    ผลตอบแทน

    เรียกคืนเรื่องแจ้งเมื่อมีข้อความถูกกดไปยังหัวข้อ

  • ผลตอบแทน

    เริ่มฟังหัวข้อที่ให้ไว้

คุณสมบัติ

วิธีการ

PublishAsync

void
ผลตอบแทน

ฟังก์ชันนี้ส่งข้อความที่ให้ไว้ให้กับผู้สมัครทั้งหมดสู่หัวข้อนี้เพื่อเรียกใช้ระบบเรียกแบบลงทะเบียนของพวกเขา

ส่งจนกว่าข้อความจะได้รับการรับรู้โดยแบ็คเอนด์

พารามิเตอร์

topic: string

กำหนดสถานที่ที่จะส่งข้อความ

message: Variant

ข้อมูลที่จะรวมในข้อความ


ส่งค่ากลับ

void

SubscribeAsync

ผลตอบแทน

ฟังก์ชันนี้ลงทะเบียนคอลแล็คเพื่อเริ่มฟังหัวข้อที่ให้ไว้ คอลแล็คจะถูกเรียกเมื่อหัวข้อได้รับข้อความ สามารถเรียกได้หลายครั้งสำหรับหัวข้อเดียวกัน

คอลแล็ค

คันเรียกถูกเรียกด้วยอาร์กุมเดียว, ตารางที่มีรายการต่อไปนี้:


<tbody>
<tr>
<td>
<b>ข้อมูล</b>
</td>
<td>
เนื้อหาที่ผู้พัฒนาจัดหา
</td>
</tr>
<tr>
<td>
<b>ส่งแล้ว</b>
</td>
<td>
เวลา Unix ในวินาทีที่ข้อความถูกส่ง
</td>
</tr>
</tbody>
สนามสรุป

มันจะแสดงจนกว่าสมาชิกจะลงทะเบียนอย่างถูกต้องและจะส่งคืนวัตถุการเชื่อมต่อ

เพื่อยกเลิกรายการ โปรดโทร Disconnect() ที่เรียกไปที่ตัวกลับสู่เอเชียน เมื่อเรียกแล้วคันเรียกจะไม่ถูกเรียกอีกครั้ง การฆ่าสคริปที่มีการเชื่อมต่อเป็นสาเหตุให้เชื่อมต่อถูกย

ดูเพิ่มเติม MessagingService:PublishAsync() ซึ่งส่งข้อความที่ให้ไว้ให้กับผู้สมัครทุกรายไปยังหัวข้อนี้ และเรียกใช้คืนค่าที่ลงทะเบียนไว้ของพวกเขาเพื่อเรียกใช้

พารามิเตอร์

topic: string

กำหนดตำแหน่งที่จะฟังข้อความ

callback: function

ฟังก์ชันที่จะเรียกใช้เมื่อได้รับข้อความ


ส่งค่ากลับ

การเชื่อมต่อที่สามารถใช้เพื่อยกเลิกการสมัครรับจากหัวข้อ

ตัวอย่างโค้ด

Subscribing to Cross Server Messages

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)

อีเวนต์