# net.Receive

- **Ortam:** İstemci, Sunucu
- **İngilizce aslı:** https://wiki.facepunch.com/gmod/net.Receive
- **Çeviri tarihi:** 2025-09-08

```lua
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.

> **UYARI:** 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](https://gmod.tr/wiki/string) **messageName**: Kancalanacak mesaj adı. > **NOT:** Mesaj adı küçük harfe dönüştürülür, bu nedenle "`BigBlue`" ve "`bigblue`" mesaj adları eşit kabul edilir.
2. [function](https://gmod.tr/wiki/function) **callback**: Belirtilen mesaj alındığında çağrılacak fonksiyon. Fonksiyon argüman(lar)ı: 1. [number](https://gmod.tr/wiki/number) **len** - Mesajın bit cinsinden uzunluğu. 2. [Player](https://gmod.tr/wiki/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.

```lua
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ı:**

```lua
] 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.

```lua
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ı:**

```lua
] send_message_to_server test
Rubat'tan mesaj alındı. Uzunluğu 56.
Mesaj şuydu: 	test
Harika sayı şuydu: 	1337
```

- [GMod Wiki ana sayfası](https://gmod.tr/wiki)

---

[Tüm sunucular](https://gmod.tr/) · [GmodTR Launcher](https://gmod.tr/launcher) · [Rehber](https://gmod.tr/rehber) · [GMod Wiki](https://gmod.tr/wiki) · [GmodTR nedir?](https://gmod.tr/hakkinda) · [Sunucu ekle](https://gmod.tr/sunucu-ekle) · [Discord](https://discord.gg/gmodtr)

Kaynak: https://gmod.tr/wiki/net.Receive
