G
Guest
Gast
Hallo.
Bitte um ein kleines Brainstorming.
Ich schreibe gerad ein kleines java-spiel.
Randdaten:
Client - Server kommunikation:
- der client sendet Steuerbefehle
- der server sendet Positionen ...
Kommunikation:
server sendet UDP-Pakete über ein MulticastSocket
bei dem client hab ich sowohl eine TCP verbindung versucht, als auch ebenfalls eine udp verbindung über ein MulticastSocket. Das Problem tritt in beiden Fällen auf.
Problembeschreibung:
Zunächst läuft alles Bone. Aber in etwa in 20sec Intervallen gibt es ein lag (für etwa 2 sec bekomme ich <50% der UDP-Paket (sonst sind 40/sec a 128byte, in den 2sec sind <20/sec) .
Ja, ich hab auch erst an den GC gedacht, aber:
Das Spiel kann auch im Single-Player gespielt werden, wobei die KI auch als client implementiert worden ist, der analog zu einem menschlichen Gegner seine Steuerbefehle über den Socket sendet. Der einzige Unterschied ist, dass bei der KI jeweils die Pakete den Rechner nicht verlassen müssen...
Daher halte ich es eher unwahrscheinlich dass der GC der böskerl ist.
Randinformationen:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DisableUserTOSSetting"=dword:00000000
(check)
...
Bin für jeden Ansatz dankbar....
MFG Nils
Bitte um ein kleines Brainstorming.
Ich schreibe gerad ein kleines java-spiel.
Randdaten:
Client - Server kommunikation:
- der client sendet Steuerbefehle
- der server sendet Positionen ...
Kommunikation:
server sendet UDP-Pakete über ein MulticastSocket
bei dem client hab ich sowohl eine TCP verbindung versucht, als auch ebenfalls eine udp verbindung über ein MulticastSocket. Das Problem tritt in beiden Fällen auf.
Problembeschreibung:
Zunächst läuft alles Bone. Aber in etwa in 20sec Intervallen gibt es ein lag (für etwa 2 sec bekomme ich <50% der UDP-Paket (sonst sind 40/sec a 128byte, in den 2sec sind <20/sec) .
Ja, ich hab auch erst an den GC gedacht, aber:
Das Spiel kann auch im Single-Player gespielt werden, wobei die KI auch als client implementiert worden ist, der analog zu einem menschlichen Gegner seine Steuerbefehle über den Socket sendet. Der einzige Unterschied ist, dass bei der KI jeweils die Pakete den Rechner nicht verlassen müssen...
Daher halte ich es eher unwahrscheinlich dass der GC der böskerl ist.
Randinformationen:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DisableUserTOSSetting"=dword:00000000
(check)
Code:
public static final int IPTOS_LOWCOST = 0x02;
public static final int IPTOS_RELIABILITY = 0x04;
public static final int IPTOS_THROUGHPUT = 0x08;
public static final int IPTOS_LOWDELAY = 0x10;
public static final int TRAFFIC_CLASS = IPTOS_LOWDELAY | IPTOS_RELIABILITY;
mcSocket.setTimeToLive(1);
mcSocket.setTrafficClass(Globals.TRAFFIC_CLASS);
Bin für jeden Ansatz dankbar....
MFG Nils