Yardım Command mi, packet mi?

  • Konuyu açan Konuyu açan TheAdmin33
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 4
  • Gösterim Gösterim 121
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

TheAdmin33

Ah, bu şarkıların gözü kör olsun
Geliştirici
Yardımsever Üye
Usta Üye
Editör
Mesaj
1.313
Çözümler
74
Beğeni
4.928
Puan
1.859
Ticaret Puanı
0
Bazı sistemler Command kullanmayı tercih etmiş, bazıları ise yeni packet oluşturmayı. Bunun belirli bir nedeni ya da ayrımı var mı?

Şu durumda Command, şöyle bir durumda ise packet kullanılmalıdır gibi bir kural var mı, yoksa tamamen geliştiricinin tercihine göre mi şekilleniyor?
 
Kullanım amacına göre değişir. Sonuçta command da paket kullanıyor.
Tekli veri/basit işlemler için command, çoklu veri/dinamik işlemler için paket kullanabilirsin.
İstisnai durumlarda basit işlemler için de paket kullanman gerekebilir. Ama dediğim gibi bunlar istisnadır.

Örnek olarak; offline shopların birkaçında ortak mantık vardır.
Shop açarken shopun bilgilerini tek pakette toplayıp gönderirsin.(id, owner, time vs..)
Daha sonra shopu kapatırken tek bir command gönderirsin, gerisini server tarafındaki Destroy,Close artık her ne ise onlar halleder.
Bu client->server için bir örnekti. Server->client için de aynı şeyler söz konusudur, değişen bir şey yok.
 
bence bu kişiden kişiye değişir mesela dracaysın sistemlerine denk geldiğimde çoğu commandlı. Ben ise command’dan en nefret eden insanım bilmiyorum bende böyle bi psikoloji oldu 😂 struct içinde tek member olsun yine kendine ait paketi olsun istiyorum. 😂 He mesela çok nadiren de olsa cliente bir değer göndermeden bir işlem olacaksa command kullanırım. Örneğin

Yaptığım : “RefreshShop”
Yapmadığım: “RefreshShop %d”

Sonuçta kaiserin de dediği gibi command da bir paket. Bence command kestirme bir yol. Şimdi GC paketi yaptığında Packet.h ekle client tarafında packet.h, networkstream.cpp networkstream.h networkstreamphasegame.cpp (hem fonksiyonun işlevi hemde while döngüsünde paketi okuma yerine ) ama commandda öyle değil direk game.py ekle bitti. 😂
 
Farketmiyor açıkçası, tamamen sana kalmış. Ben ufak tefek şeyler için hiç uğraşmıyorum command yazıp geçiyorum mesela. Veriyi değiştirecek dahi olsan commandla gönderdiğin paketi de client sourcede tekrar işleyebilirsin, o yüzden pek bir şey değişmiyor, değişen şey aslında iletilen paket boyutu. Chat packetler normal yazacağın pakete göre daha fazla sizeye sahip. Eğer sık göndereceğin işlemler olursa üşenmeyip normal paket olarak yazıcaksın eğer nadir gönderilen şeyler ise chatpacket yaz geç.
 
Belirli bir fonksiyonu tetiklemek için bile olsa üşenmeden yeni paket oluşturuyorum. :)
IMG_20250808_104716.webp
 
Son düzenleme:
Geri
Üst