[java] inputstream - outputstream

Pagina: 1
Acties:

  • Invalid
  • Registratie: September 2001
  • Niet online
Ik ben er al een tijdje mee bezig maar kom er niet uit. Ik wil een soort client server model maken met een steam ertussen. Net zoals je met een Socket een InputStream en OutputStream kunt krijgen wil ik dat ook. De 'server' moet dus een OutputStream maken die de 'client' als InputStream krijgt, en andersom. Kan dit? En zo ja: hoe??

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Ik snap je vraag niet.
Wil je twee losse app's koppelen op 1 systeem?
Dan kan je met Pipe's werken.

Wil je binnen een app met client-server dingen een stream gaan gebruiken :? Zou ik niet doen, daar zijn nou de get en set methoden ideaal voor.

Verwijderd

Je maakt een ServerSocket, en die laat je wachten op een verbinding, dat gaat automatisch, met de methode accept() (van de class ServerSocket). Die methode geeft een Socket terug, en daarvan kun je de input- en outputstream krijgen met getInputStream() en getOutputStream(). Hetzelfde als met de socket aan de client kant dus. Het enige verschil is dat je server-side niet zelf de socket maakt, want dat laat je aan de ServerSocket over.

Stukje eenvoudige code, voor een server met slechts één client:

Java:
1
2
3
4
ServerSocket ss = new ServerSocket(6667);
Socket       s  = ss.accept();
InputStream  is = s.getInputStream();
OutputStream os = s.getOutputStream();

Als je meerdere clients wilt, dan zul je threads moeten gebruiken, en een loopje dat steeds op een nieuwe client wacht (ss.accept()) en die voor iedere client een nieuwe thread start.

  • ArmEagle
  • Registratie: Oktober 2001
  • Laatst online: 18-06 08:00

ArmEagle

Duzz.

ik kan wel een voorbeeld verzinnen en uit gaan typen.
Maar er zijn er echt genoeg te vinden op internet. Lees anders de Java API (nog beter) door. Dan zou het toch echt binnen een uur moeten werken.

Edit:
Hmm je hebt geluk dat iemand de moeite heeft gedaan een heel verhaal te schijven.