net.Receive

  net.Receive( string messageName, function callback )

Açıklama

Bir ağ mesajı işleyicisi ekler. Ağ mesajını almak için yalnızca bir alıcı kullanılabilir.

Mesaj işleyici geri çağrısı içinde net.Read* fonksiyonlarını kullanabilirsiniz.

Bu fonksiyonu, ne yaptığınızı bilmiyorsanız, düzgün çalışması için diğer tüm fonksiyonların veya kancaların dışına koymalısınız!

Bilgileri, yazdığınız sırayla okumanız gerekir.

Her ağ mesajının 64KB'lık bir uzunluk sınırı vardır!

Argümanlar

1 string messageName
Kancalanacak mesaj adı.
Mesaj adı küçük harfe dönüştürülür, bu nedenle "BigBlue" ve "bigblue" mesaj adları eşit kabul edilir.
2 function callback
Belirtilen mesaj alındığında çağrılacak fonksiyon.
Fonksiyon argüman(lar)ı:
1 number len - Mesajın bit cinsinden uzunluğu.
2 Player ply - Mesajı gönderen oyuncu, yalnızca sunucu tarafında çalışır.

Örnek

Sunucudan gönderildiğinde, istemci tarafında mesaj alımını gösteren bir örnek.

if ( SERVER ) then util.AddNetworkString( "message_to_clients" ) concommand.Add( "send_message", function( ply, cmd, args ) net.Start( "message_to_clients" ) net.WriteString( args[ 1 ] or "my very cool message, yeah!" ) net.WriteUInt( 1337, 16 ) net.Broadcast() end ) else net.Receive( "message_to_clients", function( len, ply ) print( "Sunucudan mesaj alındı. Uzunluğu " .. len .. "." ) -- Yazdığımız sırayla okuyoruz local message = net.ReadString() local myCoolNumber = net.ReadUInt( 16 ) print( "Mesaj şuydu: ", message ) print( "Harika sayı şuydu: ", myCoolNumber ) end ) end
Çıktı:
] send_message test Sunucudan mesaj alındı. Uzunluğu 56. Mesaj şuydu: test Harika sayı şuydu: 1337

Örnek

Bir istemciden gönderildiğinde, sunucu tarafında mesaj alımını gösteren bir örnek.

if ( SERVER ) then util.AddNetworkString( "message_to_server" ) net.Receive( "message_to_server", function( len, ply ) print( "Mesaj " .. ply:Nick() .. "'dan alındı. Uzunluğu " .. len .. "." ) -- Yazdığımız sırayla okuyoruz local message = net.ReadString() local myCoolNumber = net.ReadUInt( 16 ) print( "Mesaj şuydu: ", message ) print( "Harika sayı şuydu: ", myCoolNumber ) end ) else concommand.Add( "send_message_to_server", function( ply, cmd, args ) net.Start( "message_to_server" ) net.WriteString( args[ 1 ] or "my very cool message, yeah!" ) net.WriteUInt( 1337, 16 ) net.SendToServer() end ) end
Çıktı:
] send_message_to_server test Rubat'tan mesaj alındı. Uzunluğu 56. Mesaj şuydu: test Harika sayı şuydu: 1337

Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord