Hello!
Tanácsot szeretnék kérni.
Ki tud valami használható módszert, hogyan lehetne növelni a ping időt.
Játék szervert írok és tölümk nagyon távol, most specile moszkvában akarják kiprobálni.
Itthon a leg megbizhatatlanabb mikrohullámú kapcsolaton is vígan megy a game.
Ezért szeretném azokat a körülményeket rekonstuálni, ami egy Veszprém Moszkva távolságban előfordulhat.
Veszprém Moszkva 130-150 ms. Itthon nekem 5-9 ms-nál nagyob késleltetést nem sikerült létrehozni, azon pedig nem jön létre a hiba.
A hiba jelenség pedig a ECONNRESET 10054!
Most azzal kisérletezünk, hogy beraktunk egy linux gépet a hálózatba és azt probálom leterhelni, de nem nagyon segít, a linuxos gép majd meg hal olyan lassú, de 2 ms-nál nagyobb késés nagyon nehezen jön létre.
- 2160 megtekintés
Hozzászólások
itt foglalkoznak ilyesmivel
- A hozzászóláshoz be kell jelentkezni
Remekül müködik!
Bár még 300ms-es lasítás sem fogja meg a játékot úgy mint moszkva!
Ha valakinek van arra ötlete, hogy ez a ECONNRESET, mi a fene hozhatja létre.
Konektálni sikerül moszkvából, aztán amikor a szerver visza akkar küldeni egy csomagot akkor szál el az említett hibával!
Kértem, hogy a tűzfalon nyissák meg az egyik portot, azt mondják meg is tették. Ha nem tették volna akkor a connect sem jönne, vagy van olyan eset, hogy connectet átenged, aztán valamiért kidobja?
- A hozzászóláshoz be kell jelentkezni
szerintem connection reset by peer.
ergo valahol van valami timeout, amit a nagy ping miatt tullep a kliens, vagy a szerver, es emiatt dobja a kapcsolatot.
Tyrael
- A hozzászóláshoz be kell jelentkezni
Szerintetek lehet az, hogy?
Én a send és recv-ben alapból 8192byte elküldendő és fogadandó menyiséget állítok be, úgy gondoltam ők sokkal okosabbak és helyesen visza adjág, hogy ebböl ők mennyit tudtak elküldeni.
Mi van ha a hálozatban valahol MTU(vagy mi a bánat) kissebre van állítva és ott nem szedik darabokra a csomagjaimat, hanem inkább szakadást idéznek elő?
Lehet ilyen, találkozott már valaki ilyen problémával?
Ismer valaki olyan modszert, hogy lehet korrekten meghatározni az elküldendő csomag méretét?
- A hozzászóláshoz be kell jelentkezni
A standard TCP keretméret (1492) általában be szokott jönni.
- A hozzászóláshoz be kell jelentkezni
"Én a send és recv-ben alapból 8192byte elküldendő és fogadandó menyiséget állítok be"
"a hálozatban valahol MTU(vagy mi a bánat) kissebre van állítva"
Elárulom, hogy az MTU mindenhol kisebb ennél. Lokál hálón 1500, neten pedig ennél is kisebb.
- A hozzászóláshoz be kell jelentkezni
PMTUD (Path MTU Discovery) alapból be van kapcsolva, és automatikusan beáll a csomagméret a hálózaton mért legkisebb MTU-ra. Ehhez az ICMP Unreachable üzeneteket a szűk keresztmetszet előtti routernek vissza kell küldenie. Ha le van tiltva, akkor gáz van, de ez nagyon ritka.
Ha nem akarsz a PMTUD-re hagyatkozni, akkor vedd vissza az MTU-dat 1400-ra, azt minden hálózat lekezeli, és a sebességcsökkenés nem lesz jelentős.
- A hozzászóláshoz be kell jelentkezni
Vegyél egy utp-kábelt, vágd szét a közepén, pucold meg a drótokat, forrassz mindenféle szar, árnyékolatlan drótot hozzá és kössél rá 20 csomót.
- A hozzászóláshoz be kell jelentkezni
Azzal csak nagyon magas packet loss-t fog elérni, de a latency nem fog nőni (azaz ami átmegy, az piszokgyorsan átmegy, ami meg nem, az nem)
- A hozzászóláshoz be kell jelentkezni
Akkó meg nézzen bele a kernel configjába, "network testing" alatt sok érdekes dolog van...
- A hozzászóláshoz be kell jelentkezni