MessagingService
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
MessagingService mengizinkan server pengalaman yang sama untuk berkomunikasi satu sama lain dalam waktu nyata ( kurang dari 1 detik) menggunakan topik. Topik adalah string pengguna (1–80 karakter) yang server gunakan untuk mengirim dan menerima pesan.
Pengiriman adalah upaya terbaik dan tidak dijamin. Pastikan untuk mengatur pengalaman Anda sehingga kegagalan pengiriman tidak kritis.
Pesan Antar Server menjelajahi cara berkomunikasi antar server dengan lebih rinci.
Jika Anda ingin menerbitkan pesan acak untuk menjalankan server game, Anda dapat menggunakan Buka Cloud APIs.
Keterbatasan
Catat bahwa batas-batas ini dapat berubah.
<tbody><tr><td><b>Ukuran pesan</b></td><td>1kB</td></tr><tr><td><b>Pesan dikirim per server game</b></td><td>600 + 240 \* (jumlah pemain di server game ini) per menit</td></tr><tr><td><b>Pesan diterima per topik</b></td><td>(40 + 80 \* jumlah server) per menit</td></tr><tr><td><b>Pesan diterima untuk seluruh permainan</b></td><td>(400 + 200 \* jumlah server) per menit</td></tr><tr><td><b>Langganan diizinkan per server game</b></td><td>20 + 8 \* (jumlah pemain di server game ini)</td></tr><tr><td><b>Langganan permintaan per server game</b></td><td>240 permintaan per menit</td></tr></tbody>
Membatasi | Maksimum |
---|
Rangkuman
Metode
Memanggil panggilan yang disediakan setiap kali pesan ditekan ke topik.
Memulai mendengarkan topik yang diberikan.
Properti
Metode
PublishAsync
Fungsi ini mengirim pesan yang disediakan ke semua subscriber ke topik, mengaktifkan panggilan daftar mereka untuk diaktifkan.
Menghasilkan sampai pesan diterima oleh backend.
Parameter
Mengidentifikasi di mana pesan dikirim.
Data untuk diketakkan dalam pesan.
Memberikan nilai
SubscribeAsync
Fungsi ini mendaftar panggilan untuk mulai mendengarkan topik yang diberikan. Panggilan dinyatakan ketika topik menerima pesan. Ini dapat dianggil beberapa kali untuk topik yang sama.
Panggilan
Panggilan dibangun dengan satu argumen, tabel dengan entri berikut:
<tbody><tr><td><b>Data</b></td><td>Pengembang menyediakan pemuatan</td></tr><tr><td><b>Dikirimkan</b></td><td>Waktu Unix dalam detik di mana pesan dikirim</td></tr></tbody>
Lapangan | Sintesis |
---|
Itu menghasilkan sampai langganan diperbarui dengan benar dan mengembalikan objek koneksi.
Untuk berlangganan kembali, panggil Disconnect() di objek yang dikembalikan. Setelah dipanggil, panggilan harus tidak pernah dijalankan. Meng杀死 script yang berisi koneksi juga menyebabkan koneksi yang mendasar tidak berlangganan.
Lihat juga MessagingService:PublishAsync() yang mengirim pesan yang disediakan ke semua subscriber untuk topik, mengaktifkan panggilan kembali yang terdaftar mereka untuk dipanggil.
Parameter
Mengidentifikasi di mana untuk mendengarkan pesan.
Fungsi untuk diaktifkan setiap kali pesan diterima.
Memberikan nilai
Koneksi yang dapat digunakan untuk berlangganan dari topik.
Contoh Kode
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)