Ağa bağlı bir iOS oyunu yazıyorum. İle paketleri gönderirken GKMatchSendDataReliable
(hangi farz 60 paket saniyede (bitişik paketleri arasına böylece 16 ms), ortalama ping zamanlarda UDP yazılı kendi paket alımı koduyla oldu) hızla kötüleşir: Ben birbiri ardına (aşağıda 7 Gamecenter maçları açıldı ) ve 100 paketlik bir "sel" gönderdi (saniyede 60 paket hızında). Ortalama gidiş-dönüş süresini ölçtüm ve bunlar sonuçlar:
[ 21:16:39 ]: I saw an average roundtrip time of 52.342787 ms, he saw 54.496590 ms
[ 21:16:34 ]: I saw an average roundtrip time of 62.631942 ms, he saw 61.991655 ms
[ 21:16:45 ]: I saw an average roundtrip time of 88.394380 ms, he saw 83.619123 ms
[ 21:16:51 ]: I saw an average roundtrip time of 179.053118 ms, he saw 156.869141 ms
[ 21:16:57 ]: I saw an average roundtrip time of 75.025076 ms, he saw 75.419723 ms
[ 21:17:23 ]: I saw an average roundtrip time of 8832.082488 ms, he saw 7616.877558 ms
[ 21:19:33 ]: I saw an average roundtrip time of 25088.962344 ms, he saw 16833.064914 ms
Son 2 testten sonra sonuçlar yaklaşık 1000 ms'dir.
Büyük olasılıkla ISS'm tarafından kısılmışım gibi görünüyor. Bu bir iOS oyunu olduğu için insanlar düzenli konut bağlantıları kullanacaklar.
Paket gönderme hızını 10 kat daha yavaş (yani her 160 ms'de bir paket) olarak değiştirdiğimde, testler çok daha uzun sürüyor, ancak gidiş-dönüş süreleri sürekli olarak düşük kalıyor.
[21:31:27]: Ortalama bir gidiş dönüş süresi 55.289109 ms gördü, 69.032727 ms gördü
Bu yüzden bağlantıda düşük gecikme süresi tutmak gibi görünüyor (ve ISS'ler tarafından "cezalandırılmıyor") Gönderdiğim paketlerin oranını azaltmak zorundayım. Bunların maksimum 40 bayt gibi çok küçük paketler olduğunu unutmayın , ancak hala kısıtlıyım.
Kısılmaktan kaçınmak için saniyede kaç UDP paketi gönderebileceğim konusunda yönergeler arıyorum! Herhangi bir yerde genel yönergeler var mı?