🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
1 messages
1 total messages Started by Koen Hautekeete Thu, 19 Dec 2002 17:48
Java socket applicatie
#6387
Author: Koen Hautekeete
Date: Thu, 19 Dec 2002 17:48
37 lines
2449 bytes
In een bepaalde Java-applicatie, waarvoor communicatie met een ander,
niet door mij geschreven applicatie nodig is, kom ik volgend probleem
tegen: ik verwacht een bepaalde string van de andere applicatie, maar ik
ontvang die pas als ik een println(""), kortweg println() stuur. Ik weet
vooraf niet hoe lang het duurt vooraleer die string wordt ontvangen.
Roep ik de println() aan op het moment dat de bepaalde string nog niet
verzonden is, dan krijg ik die string niet. De afhandeling van mijn
programma zorgt ervoor dat er na een time-out opniew println() wordt
uitgevoerd.

De data van de andere applicatie inlezen gebeurt via een aparte thread
als volgt:

// deze code staat dus in een lusje dat onderbroken kan worden... if
(this.getIn().ready()) {
	String data = this.getIn().readLine();
}

De reader en writer worden als volgt ge�nitialiseerd:

this.setSocket(new Socket(host, port));
InputStreamReader reader = new
InputStreamReader(this.getSocket().getInputStream());
this.setIn(new BufferedReader(reader));
this.setOut(new PrintWriter(this.getSocket().getOutputStream(), true));
// true voor auto flush 

Wat ik dus raar vind is dat ik die verwachte string pas ontvang als ik
eerst getOut.println() uitvoer. De andere applicatie verwacht geen actie
van de mijne om die string te sturen. Infeit zou ik dus nooit println
moeten aanroepen.

Iemand enig idee?

mvg

Koen Hautekeete
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads