Ik zit nu al een tijdje op een fout te zoeken dat ik niet kan vinden 
Ik ben momenteel een cliënt-server applicatie aan het maken.
Het is een programma waarbij de server geschreven is in Java, en de cliënt een Android applicatie is.
Voor ik data begin door te sturen, stuur ik eerst een String door om aan te geven welke data er binnen gaat komen. Echter, wanneer ik die String wil inlezen in de Java server, krijg ik een OptionalDataException.
Na wat zoekwerk op Google en debugging, stelde ik vast dat ik een primitieve datatype zou doorsturen (eof staat op false en length is 10 bytes).
Echter, String is geen primitief datatype en implementeert ook Serializable (zoals jullie natuurlijk weten
).
Ik heb ook naar oplossingen gezocht maar geen enkel bracht soelaas aan dit probleem.
Misschien kunnen jullie helpen?
socket is de socket waarmee verbonden is naar de server
Dit stuurt dus de string "LOGIN" door.
Server heeft hier wel de cliënt geaccepteerd en draait perfect met de cliënt tot ik data begin te versturen.
Al bedankt voor de hulp!
Natuurlijk heb ik stukken code weggelaten om het niet te complex te maken.
Ik ben momenteel een cliënt-server applicatie aan het maken.
Het is een programma waarbij de server geschreven is in Java, en de cliënt een Android applicatie is.
Voor ik data begin door te sturen, stuur ik eerst een String door om aan te geven welke data er binnen gaat komen. Echter, wanneer ik die String wil inlezen in de Java server, krijg ik een OptionalDataException.
Na wat zoekwerk op Google en debugging, stelde ik vast dat ik een primitieve datatype zou doorsturen (eof staat op false en length is 10 bytes).
Echter, String is geen primitief datatype en implementeert ook Serializable (zoals jullie natuurlijk weten
Ik heb ook naar oplossingen gezocht maar geen enkel bracht soelaas aan dit probleem.
Misschien kunnen jullie helpen?
Java: client
1
2
3
4
5
| ObjectOutputStream output = new ObjectOutputStream(socket.getOutputStream()); ObjectInputStream input = new ObjectInputStream(socket.getInputStream()); output.writeObject("LOGIN"); output.flush(); |
socket is de socket waarmee verbonden is naar de server
Java: server
1
| String inputCommand = (String) input.readObject(); |
Server heeft hier wel de cliënt geaccepteerd en draait perfect met de cliënt tot ik data begin te versturen.
Al bedankt voor de hulp!
Natuurlijk heb ik stukken code weggelaten om het niet te complex te maken.
I7 2600K - 8GB - M550 256GB - GTX 670