# Dateninhalt im IP/TCP Packet genau bestimmen



## Luz (17. Nov 2006)

Hi ihr.

Ich probier zur zeit etwas mit Echtzeit datenübertragung (Sockets)rum. Ich hab versucht alle 50 Millisekunden ein Packet abzuschicken mit koordianten eines Kreises. Bei dem Empfänger soll das ganze dann als Bewegung zu erkennen sein. Leider schickt er nur alle 200 Millisekunden ein packet ab und sendet dort die Daten von 4 flush aufrufen.


Diese Stelle wird alle 50 Millisekunden aufgerufen und in msg stehen die Koordianten:

```
BufferedWriter out= new BufferedWriter(new OutputStreamWriter(ss.getOutputStream()));
try
		{
			out.write(msg);
			out.newLine();
			out.flush();
			
			
			return true;
			
		}catch(IOException e)
		{
			
			return false;
			
		}
```


Kann mir vielleicht jemand weiterhelfen wie ich wirklich gewährleisten kann das das Packet abgeschickt wird wenn ich flush aufrufe?

Danke schonmal


----------



## Luz (21. Nov 2006)

Hab ich mich nur schlecht ausgedrückt oder kann mir wirklich keiner helfen?

Ich will eigentlich nur wissen wie man es schafft das java bei der flush funktion von outStream auch wirklich alles abschickt und nicht ewig sammelt und dann nach dem 4. oder 5. flush aufruf alles auf einmal sendet.


----------



## meez (21. Nov 2006)

Weil du darauf keinen Einfluss hast (Jedenfalls nicht auf der Ebene, bzw. mit Java)....Schau dir mal das OSI Modell an, und lies dir die zugehörigen Protokollspezifikationen...


----------



## Luz (22. Nov 2006)

ich kenn das Osi Modell. Das hat nich wirklich was mit dem Problem zu tun. Es kann weitaus öfter als alle 200ms ein Packet verschickt werden.

Java scheint auch nur unter bestimmten bedingungen die nachrichten sammeln und dann auf einmal los zu schicken.



z.b. 
Client und Host befinden sich auf einem rechner:

wenn ich beim clientsocket 127.0.0.1 als ZielIPangeb sendet der server die nachrichten nicht gesammelt
der client sendet sie auch nicht gesammelt

wenn ich beim clientsocket zu einer ip connecte die auch eine Adresse des gleichen Rechenrs ist z.b. von einer Netzwerkkarte dann sammelt er die nachrichten manchmal und manchmal sendet er sie auch direkt
der client sendet sie nie gesammelt

beim Server wird dabei garnix geändert.


----------

