hallo zusammen,
habe da ien Problem beim Empfangen des Inpustreams vom Server. also ich möchte Daten vom Server empfangen, und in einer Textarea ausgeben. jedoch will ich nach dem Empfang eines gesendeten Strings eine neue Zeile in der textarea erstellen. daher müsste ich wissen wann der gesendete String zu ende ist. readLine kann ich nicht benutzen , weil die gesendeten Strings ohne newLine am Ende gesendet werden. heir ist mal mein ansatz:
das problem bei diesem code ist, dass ich erst beim ersten Input die Länge auslesen kann (input.read(buffer)) und beim zweiten Input den Inhalt (input.read()). leider wird am Ende keine -1 oder sowas bie input.read gesendet.
hat jemand eine Idee wie ich das Ende ermitteln kann? bzw. komm ich mit Datagram-Socket weiter?
habe da ien Problem beim Empfangen des Inpustreams vom Server. also ich möchte Daten vom Server empfangen, und in einer Textarea ausgeben. jedoch will ich nach dem Empfang eines gesendeten Strings eine neue Zeile in der textarea erstellen. daher müsste ich wissen wann der gesendete String zu ende ist. readLine kann ich nicht benutzen , weil die gesendeten Strings ohne newLine am Ende gesendet werden. heir ist mal mein ansatz:
Code:
server = new Socket("localhost", port);
BufferedReader input = new BufferedReader(new InputStreamReader(server.getInputStream()));
while (!liveThread.isInterrupted())
{
DateFormat dateInstance = new SimpleDateFormat ("HH:mm:ss:SSS ");
timeStamp = dateInstance.format( new Date() );
char[] buffer =new char[5000];
int bufferLength = input.read(buffer);
for(int i=0; i<bufferLength; i++){
code=input.read();
char c = (char)code;
TLog.setText(TLog.getText() + c );
}
TLog.setText(TLog.getText() + "\n" + timeStamp + " STRINGENDE\n");
TLog.setCaretPosition(TLog.getText().length());
}
server.close();
input.close();
das problem bei diesem code ist, dass ich erst beim ersten Input die Länge auslesen kann (input.read(buffer)) und beim zweiten Input den Inhalt (input.read()). leider wird am Ende keine -1 oder sowas bie input.read gesendet.
hat jemand eine Idee wie ich das Ende ermitteln kann? bzw. komm ich mit Datagram-Socket weiter?