Ek olarak Socket. IO da desteğe ihtiyacın olursa da bir PM kadar uzağındayım hocam. Socket. IO çok başarılı bir kütüphane denemeni tavsiye ederim. Yada SignalR da kullanabilirsin dotnet tarafında. Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu nünden daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? yle ise, sakın yetime kahretme ! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!

https://stackoverflow.com/questions/23176800/whats-so-hard-about-p2p-hole-punching "Firewalls are typically stateful. Bob (2) establishing communications with the outside directory server sets up a rule in his NAT server that allows Bob and the directory server to communicate. When the NAT server sees packets from Alice, it rejects/drops them because it hasn't seen Bob establish communications with Alice." "One problem is that the NAT mappings in Alice's NAT server will time out, either after a fixed time, or after a period of inactivity." "UDP hole punching success rate is 82% TCP hole punching success rate is 64% I have done many UDP hole punching experiments and they were mostly all successful but not same in the case of TCP hole punching." Hole Punching ile ilgili bazı yorumlar byle. Başarılı olmamasının nedeni iki makinenin bulunduğu ağdaki NAT ayarlarıyla ilgili. Şyle birşey yapılabilir: 1. WebRTC yi araştırabilirsin. Peer-to-Peer iletişimde giderek yaygınlaşan bir iletişim türü . 2. Clientlerde ayrıca sunucular oluşturup, merkezi bir sunucuda bu clientlere ait sunucu bilgilerini diğer clientlere paslayıp, ihtiyaç halinde clientlerin birbirinin sunucusuna bağlanması gibi bir senaryo uygulanabilir. RockZs tarafından 21/Kas/19 17:32 tarihinde düzenlenmiştir

hocam eğer işin içinden çıkamazsan wireshark yada fiddler ile trafiği dinle belki paketlerle ilgili bir sorun yaşıyor olabilirsin. herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri ğrenmeye çalışmayın. yabancı dil filan ğrenin amq.// s. kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//

ilk syledigin seyi ben suan yapiyorum hocam, sem samoro, dorel. net in socketini kullaniyorsun ben socket.io üzerinden yapiyorum ve serverim da nodejs. bunu sylememin sebebi su, firmada var olan uygulama zaten senin dedigin sekilde calisiyor ve müsteriler cok sikayetci oluyor. Cünkü gerek ag ayarlari gerek firewaller, gerekse de antivirusler bu sikintiya sebep olabiliyor. O yüzden socket.io üzerinden bir czüm gelistirdim ve suan testler sorunsuz olarak gidiyor. Bahsettigin seyi de testlerimde denemistim ama local makine üzerinden . Socket.io'yu kullanarak dedigin seyi dene bakalim.. EngineIoClientDotNet kullaniyorum . Yalniz dikkat etmen gereken artik güncellenmiyor. O yüzden her seyini iyice deneyip calistigindan emin ol, olasi bi hatada isin icinden cikamayabilirsin. Ben bunu gze alarak yapiyorum simdilik Udp'ye çevirmeden nce socket.io'da tcp kullanıyordum. Tcp hız bakımından yetersiz kaldığı için Udp'ye geçtim. Socket.io'nunda udp desteği olmadığı için yine nodejsde dgram kullanarak socket.io ile neredeyse aynı sistemde udp halini yazdım.(Neredeyse aynı derken. on işlemini kastediyorum.)Altyapıyı çok fazla zaman harcamadan udpye çevirebildim. Online oyun olduğu için sadece oyun oynandığı süre boyunca sunucu olmadan clientler arası veriyi gndermem lazım. Ya bu halini kullanacağım ya da bu dediğim işlemi yapacağım. Altyapıda daha fazla değişiklik yapmak istemiyorum.

Ek olarak Socket. IO da desteğe ihtiyacın olursa da bir PM kadar uzağındayım hocam. Socket. IO çok başarılı bir kütüphane denemeni tavsiye ederim. Yada SignalR da kullanabilirsin dotnet tarafında. Sağolasın hocam. Üst mesajda yazdığım gibi araştırdığım kadarıyla socket.io'da udp desteği yok. nceden socket.io kullanıyordum zaten.

ilk syledigin seyi ben suan yapiyorum hocam, sem samoro, dorel. net in socketini kullaniyorsun ben socket.io üzerinden yapiyorum ve serverim da nodejs. bunu sylememin sebebi su, firmada var olan uygulama zaten senin dedigin sekilde calisiyor ve müsteriler cok sikayetci oluyor. Cünkü gerek ag ayarlari gerek firewaller, gerekse de antivirusler bu sikintiya sebep olabiliyor. O yüzden socket.io üzerinden bir czüm gelistirdim ve suan testler sorunsuz olarak gidiyor. Bahsettigin seyi de testlerimde denemistim ama local makine üzerinden . Socket.io'yu kullanarak dedigin seyi dene bakalim.. EngineIoClientDotNet kullaniyorum . Yalniz dikkat etmen gereken artik güncellenmiyor. O yüzden her seyini iyice deneyip calistigindan emin ol, olasi bi hatada isin icinden cikamayabilirsin. Ben bunu gze alarak yapiyorum simdilik Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

Merhabalar, udp socket kullandığım projemde clientten cliente veri gndermek istiyorum. 2 gündür araştırıyorum bir kaç işlem denedim ama bazı hatalar aldım ve okuduğum farklı bilgiler kafamı karıştırdı. Server kısmında nodejs, client kısmında c# kullanıyorum. . Şuanda client tarafında SendTo ve ReceiveFrom fonksiyonlarıyla server ile haberleşebiliyorum. Gerekli şartlar sağlandığında odaya giren clientler verilerini server üzerinden diğer clientlere aktarıyor. Yani client1 servera veri gnderiyor. Serverda bu gelen veriyi odadaki diğer clientlere gnderiyor. Burada yapmak istediğim odada bulunan clientlerin bazı verilerini sunucu aracılığı ile gndertmek yerine doğrudan ip ve portu bilinen diğer clientlere gndertmek. SendTo fonksiyonunda ip/port kısmına diğer clientin bilgilerini yazdığımda veriyi gnderiyor ama diğer clientte ReceiveFrom tetiklenmiyor. Bu kısımda takıldım kaldım. Araştırdığım kadarıyla bu işlem yapılabiliyor. Hole Punching adında bir işlemden bahsetmişler fakat tam çzemedim. Bilgisi/fikri olanlardan yardım bekliyorum. Veri gnderme string ownerIp = players . name. Split ; IPEndPoint end = new IPEndPoint(IPAddress. Parse(ownerIp ), int. Parse(ownerIp )); try catch Veri alma EndPoint anyIP = new IPEndPoint(IPAddress. Any, 0); byte data = new byte ; socket. ReceiveFrom ; Debug. Log ; h0rtl4kk tarafından 21/Kas/19 16:58 tarihinde düzenlenmiştir