Autor Beitrag
Slowmo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 29

Suse Linux 10.1
Lazarus v.0.9.18
BeitragVerfasst: Di 08.11.05 19:48 
Ich habe ein kleinens Spiel geschreiben das per Indy TCP Server+Client über Netzwerk und Internet funktionieren soll. Es schickt einfach mit WriteInt Werte hin und her. Das funktioniert im Nezwerk eigentlich auch perfekt, doch sobald im Internet gespielt wird gehen manche gesendete Informationen verloren, und somit kann nicht mehr richtig gespielt werden.

Woran könnte das liegen und wie könnte ich das beheben?
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 09.11.05 13:32 
Moin!

Du hast Datenverluste bei einer TCP-Verbindung und bekommst keine Exception? Dann hast du wohl leider einen Programmier-/Konzept-Fehler in deinem Programm, der für das fehlverhalten sorgt.

cu
Narses
Slowmo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 29

Suse Linux 10.1
Lazarus v.0.9.18
BeitragVerfasst: Mi 09.11.05 16:35 
Aber wie kann das sein wenn das Programm über Netzwerk funktioniert, vom Prinzip sollte sich über das Internet ja nichts ändern, oder?
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 09.11.05 16:44 
Moin!

Du hast schon Recht, vom Prinzip her ändert sich bei LAN zu Internet nix (wenn man mal von diversen Router-NAT-Problemen absieht, die auftreten könnten). Internettransfer ist natürlich um einigen Größenordnungen langsamer als LAN.

Allerdings: Bei einer TCP-Verbindung sorgt das Betriebssystem dafür, dass die Verbindung fehlerfrei ist oder es gibt eine Ausnahmebehandlung (Exception). Wenn du Datenausfälle beobachtest, aber keine entsprechende Exception auftritt (oder fängst du die weg?), dann können die Daten ja nur lokal auf dem Rechner flöten gehen.

cu
Narses