Problem Socket
-
Hallo ihr,
ich habe ein Problem mit der read-Funktion von reader/writern input/output-Streams und Sockets.Undzwar, wenn ich mit einem Client connecte (irgendeine Client mit Winsock) und dann ein Paket mit readline lesen will, klappt des nicht o.O erst wenn wieder was reinkommt arbeitet der server weiter ... wenn ich jeden einzelnen byte mit read lese, ließt er z.b. wenn das packet 96 bytes lang ist, alle 96 byte und dann beim 97en mal blockiert er bei read ... wie kann ich dies verhindern?
Ich kann ja auch nicht irgendwie abfragen, wie lange das paket ist...Dachte mir, mache eine Zähl variable, welche nach dem 96 byte abbricht, aber bei paketen die keine feste länge haben wäre das blöd.
Bitte um hilfe,
Lisa
-
http://de.wikibooks.org/wiki/Java_Standard:_Socket_ServerSocket_(java.net)_UDP_und_TCP_IP
der letzte absatzund nochwas zu blockieren
http://www.user.fh-stralsund.de/~twenge/Programmierung_2/javainsel4/javainsel_16_006.htm#Rxx365java16006040006321F03E213edit: url repariert
-
In dem ersten Link von elise wird es bereits kurz angesprochen. Du solltest ein Protokoll vereinbaren, wie die ausgetauschten Nachrichten aufgebaut sind.
Hier bekommst du nähere Infos dazu:
http://www.codeplanet.eu/tutorials/java/57-battleship.html?start=4