Ik heb een Java applicatie gemaakt die (in een thread) op een bepaalde port luistert naar incoming data.
Ik gebruik de volgende code:
Wat is nu het probleem?
Die data die ik inlees krijg ik in packetjes van 1024 bytes binnen. Ik wil al die bytes gaan appenden in 1 string.
Als ik echter inBytes.toString() uitvoer en hij heeft 1024 bytes gelezen is mijn string slechts 36 chars lang.
Iets gaat er dus fout met de conversie.
Kan iemand mij verder helpen?
Ik gebruik de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| // Luister op port 8101
ServerSocket serversocket = new ServerSocket(8101);
do {
java.net.Socket socket = serversocket.accept();
BufferedInputStream bufferedinputstream = new BufferedInputStream(socket.getInputStream());
byte inBytes[] = new byte[1024];
int i;
StringBuffer sb = new StringBuffer("");
String strTemp = "";
while((i = bufferedinputstream.read(inBytes)) > 0)
{
// In i staat het aantal gelezen bytes
// Plaats de bytes in een string en
// voeg de string toe aan een string buffer
System.out.println("Aantal gelezen bytes=" + i);
strTemp = inBytes.toString();
// Voeg de string toe aan de stringbuffer
sb = sb.append(strTemp);
} while(true); |
Wat is nu het probleem?
Die data die ik inlees krijg ik in packetjes van 1024 bytes binnen. Ik wil al die bytes gaan appenden in 1 string.
Als ik echter inBytes.toString() uitvoer en hij heeft 1024 bytes gelezen is mijn string slechts 36 chars lang.
Iets gaat er dus fout met de conversie.
Kan iemand mij verder helpen?
It’s nice to be important but it’s more important to be nice