Yardım Protobuf nedir?

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

Happy Way

MT Üye
MT Üye
Mesaj
253
Çözümler
24
Beğeni
95
Puan
749
Ticaret Puanı
0
Aeldra'nın filesini incelerken içerisinde protobuf diye bir olay gördüm ve bunu internet üzerinde bi kaç araştırma yaptım ve anladığım kadarıyla google'nın bir packet gönderme sistemi olduğunu hızlı bir yapı olduğunu öğrendim.

Bunu metin2'ye uyarlamışlar ve paket hatalarını en aza indirgemişler bu sistemi kendi dosyalarıma nasıl entegre edebilirim daha önce kullanan oldu mu yardımcı olabilir misiniz ve avantajları ve dezavantajları nelerdir?
 
Protobuff google tarafından geliştirilmiş, yapılandırılmış verileri serileştirmek ve iletmek için kullanılan bir protokol. Metin2de bir nevi paket boyutunu düşürerek ağ trafiğini azaltır ve geniş bant sağlar. Ayrıca .proto dosyasını program kendisi oluşturduğu için paket hatasını azaltır. Fakat bunu yapabilmen için bütün paket bilgilerine sahip olman gerekir yoksa hataları çözmek zor olur. Bunu yapmadan önce protobuff ile ilgili tutorial videoları izlersen rahatça uyarlayabilirsin. Ayrıca source içindeki protobuffa ait cpp ve .h dosyaları elle yazılmıyor onu protobuff kendisi üretiyor. senin yapman gereken tek şey protobuffa hangi paketlerin iletileceğini belirlemek. Aeldra filesi içerisinde protobuffı masaüstüne alıp inceleyebilirsin. Gördüğün üzere paketlerdeki ve item dataları filan bu şekilde ayarlanıyor

Kod:
Genişlet Daralt Kopyala
message TItemPos {
  uint32 window_type = 1;
  uint32 cell = 2;
}
 
Son düzenleme:
Protobuff google tarafından geliştirilmiş, yapılandırılmış verileri serileştirmek ve iletmek için kullanılan bir protokol. Metin2de bir nevi paket boyutunu düşürerek ağ trafiğini azaltır ve geniş bant sağlar. Ayrıca .proto dosyasını program kendisi oluşturduğu için paket hatasını azaltır. Fakat bunu yapabilmen için bütün paket bilgilerine sahip olman gerekir yoksa hataları çözmek zor olur. Bunu yapmadan önce protobuff ile ilgili tutorial videoları izlersen rahatça uyarlayabilirsin
teşekkürler yapay zeka
 
Bu protobuffu tam olarak nasıl kullanabilirim tam anlamış değilim açıkcası


Yapay zekaya biraz danıştım az çok oturdu kafamda fakat bir örnek olsa daha güzel olurdu

şimdi bu sistemi entegre işleminde nasıl bir yol izlemeliyim 1 adet paketi buraya aktarabilsem diğer paketleri uyarlarım.

Aeldranın yapısına biraz baktım cg ve gc olarak ayırmış paketleri ve oyundaki verileri (player,pet,item,vb) bir kategori yapmış ayrı tutmuş
bende aynı tarz yapmak istiyorum aslında ve bu işlemi herkesin yapması gerektiğini düşünüyorum artık eski packet yapısını değiştirmemiz gerektiğini düşünüyorum
Yardımlarınızı bekliyorum bu işlemi gerçekleştirip foruma kazandırmamız lazım bence
 
Son düzenleme:
Bu protobuffu tam olarak nasıl kullanabilirim tam anlamış değilim açıkcası


Yapay zekaya biraz danıştım az çok oturdu kafamda fakat bir örnek olsa daha güzel olurdu

şimdi bu sistemi entegre işleminde nasıl bir yol izlemeliyim 1 adet paketi buraya aktarabilsem diğer paketleri uyarlarım.

Aeldranın yapısına biraz baktım cg ve gc olarak ayırmış paketleri ve oyundaki verileri (player,pet,item,vb) bir kategori yapmış ayrı tutmuş
bende aynı tarz yapmak istiyorum aslında ve bu işlemi herkesin yapması gerektiğini düşünüyorum artık eski packet yapısını değiştirmemiz gerektiğini düşünüyorum
Yardımlarınızı bekliyorum bu işlemi gerçekleştirip foruma kazandırmamız lazım bence
bunu incelemeni öneririm durum hakkında bilgi edinmeni sağlayacaktır. Ayrıca Aeldra'nın src dosyasında skill.cpp 157. satırda kullanımla ilgili şeyleri göreceksin
Kod:
Genişlet Daralt Kopyala
bool CSkillManager::Initialize(const ::google::protobuf::RepeatedPtrField<network::TSkillTable>& table)
kaynak kodları içerisinde protobuf olarak aratırsan hangi yerlere eklendiğini bulabilirsin. Sana fikir olması açısından bunları önerebilirim
 
Geri
Üst