Hallo
ich habe eine chat-anwendung geschrieben und auch einen PING eingebaut.
mein probem ist nun folgendes:
server und client am selben rechner, zugriff über localhost: ping: 0-6ms
server und client am selben rechner, zugriff über externe ip: ping 200-206ms
server und client am entfernten rechner (300km), zugriff über externe ip: ping ~270ms;
mir ist klar, dass man für ping normalerweise UDP verwendet, da es schneller ist.
mit den bestätigungen müsste ich den ping/2 dividieren, glaube ich.
also ein realistischer ping wäre ~35 gewesen, (70/2 wäre da eh genau )
ich mache während dem senden und empfangen, weder am client noch am server irgendwelche consolen ausgaben oder graphische aktionen.
der server sendet: packet(System.currentTimeMillis())
der client empfängt und sendet einfach das selbe paket wieder zurück;
der server empfängt und rechnet ping = (System.currentTimeMillis()-packet.getTimeStamp());
der effektive ping wäre dann ping/2;
was mir aber unklar ist, woher die 200ms herkommen...
ich habe eine chat-anwendung geschrieben und auch einen PING eingebaut.
mein probem ist nun folgendes:
server und client am selben rechner, zugriff über localhost: ping: 0-6ms
server und client am selben rechner, zugriff über externe ip: ping 200-206ms
server und client am entfernten rechner (300km), zugriff über externe ip: ping ~270ms;
mir ist klar, dass man für ping normalerweise UDP verwendet, da es schneller ist.
mit den bestätigungen müsste ich den ping/2 dividieren, glaube ich.
also ein realistischer ping wäre ~35 gewesen, (70/2 wäre da eh genau )
ich mache während dem senden und empfangen, weder am client noch am server irgendwelche consolen ausgaben oder graphische aktionen.
der server sendet: packet(System.currentTimeMillis())
der client empfängt und sendet einfach das selbe paket wieder zurück;
der server empfängt und rechnet ping = (System.currentTimeMillis()-packet.getTimeStamp());
der effektive ping wäre dann ping/2;
was mir aber unklar ist, woher die 200ms herkommen...