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??
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.
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
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:
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.
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.
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.
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.