MessagingService
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Mesajlaşma Hizmeti aynı deneyime sahip sunucuların gerçek zamanlı olarak birbirleriyle iletişim kurmasına izin verir (1 saniyeden az) konular kullanarak.Konular, sunucuların mesaj göndermek ve almak için kullandığı geliştirici tanımlı dize (1–80 karakter) dir.
Teslimat en iyi çabaydır ve garanti edilmez. Deneyiminizi yapılandırmak suretiyle teslimat başarısızlıklarının kritik olmadığından emin olun.
Arası-Sunucu Mesajlaşma daha ayrıntılı bir şekilde sunucular arasında nasıl iletişim kurulacağını araştırır.
Canlı oyun sunucularına ad-hoc mesajlar yayınlamak istiyorsanız, Açık Bulut API'lerini kullanabilirsiniz.
Sınırlar
Bu sınırların değişebileceğini unutmayın.
<th>En fazla</th></tr></thead><tbody><tr><td><b>Mesajın boyutu</b></td><td>1kB</td></tr><tr><td><b>Oyun sunucusu başına gönderilen mesajlar</b></td><td>dakika başına 600 + 240 \* (bu oyun sunucusundaki oyuncu sayısı)</td></tr><tr><td><b>Konu başına alınan mesajlar</b></td><td>(40 + 80 \* sunucu sayısı) dakika başı</td></tr><tr><td><b>Tüm oyun için alınan mesajlar</b></td><td>(400 + 200 \* sunucu sayısı) dakika başı</td></tr><tr><td><b>Oyun sunucusu başına abonelikler izinlidir</b></td><td>20 + 8 \* (bu oyun sunucusundaki oyuncu sayısı)</td></tr><tr><td><b>Oyun sunucusuna bağlı abonelik istekleri</b></td><td>dakika başına 240 istek</td></tr></tbody>
Sınırla |
---|
Özet
Özellikler
Yöntemler
Bir mesaj konuya itildiğinde verilen geri çağrıyı herhangi bir zamanda çağırır.
Verdiği konuyu dinlemeye başlar.
Özellikler
Yöntemler
PublishAsync
Bu işlev, konuyla ilgili sağlanan mesajı tüm abonelere gönderir ve kayıtlı geri çağrılarının çağrılmasını tetikler.
Mesaj arka plandan alınana kadar verilir.
Parametreler
Mesajın nereye gönderileceğini belirler.
Mesaja dahil edilecek veriler.
Dönüşler
SubscribeAsync
Bu işlev, verilen konuyu dinlemeye başlamak için bir geri çağrı kaydeder.Geri çağrı, bir konu bir mesaj aldığında çağrılır.Aynı konu için birden fazla kez aynı konu için çağrılabilir.
Geri çağırma
Geri çağrı tek bir argümanla çağrılır ve aşağıdaki girişleri olan bir tablo ile:
<th>Özet</th></tr></thead><tbody><tr><td><b>Veri</b></td><td>Geliştirici yük sağladı</td></tr><tr><td><b>Gönderildi</b></td><td>Mesaj gönderildiğinde bir saniye içinde Unix saati</td></tr></tbody>
Saha |
---|
Abonelik doğru kaydedilana kadar verir ve bir bağlantı nesnesi döndürür.
Abonelikten çıkmak için, döndürülen nesneye Disconnect() çağrı yapın.Bir kez çağrıldıktan sonra, geri çağrı asla yapılmamalıdır.Bağlantıları içeren kodu öldürmek ayrıca temel bağlantının aboneliğinin iptal edilmesine neden olur.
Ayrıca bakın MessagingService:PublishAsync() , sağlanan mesajı konuya tüm abonelere gönderen ve kayıtlı geri çağrılarının çağrılmasını tetikleyen, kayıtlı geri çağrılarının çağrılmasını tetikleyen.
Parametreler
Mesajların dinleneceği yeri belirler.
Mesaj alındığında herhangi bir işlev çağrılır. Function to be invoked whenever a message is received.
Dönüşler
Konudan çıkmak için kullanılabilecek bağlantı.
Kod Örnekleri
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)