Socket ServerSocket Push

dimebag

Mitglied
Hi, ich habe zwar schon viele Einträge gelesen aber noch keine Lösung gesehen, nur das es gehen soll.

Ich habe einen SocketServer, wohin sich ein Socket verbindet, Daten übertragt und eine Antwort erhält.

Soweit auch alles klar. Aber: Wie kann ein ServerSocket einen Push zu einem Client machen, ohne dass der Client vorher einen Request geschickt hat? Ich kann natürlich die Sockets auf dem Server sammeln, aber wenn ich sende, wer nimmt mir das am Client entgegen? Gibt es da Events oder dergleichen?

Danke und Grüße
Martin
 
S

SlaterB

Gast
Sockets sind doch in beide Richtungen gleichberechtigt, wenn erstmal eingerichtet,
beide Seiten können in den OutputStream schreiben, beide Seiten können aus dem InputStream lesen,
wenn keiner reagiert, dann passiert eben nicht viel,

Verbindungsaufbau ist bisschen komplizierter,
falls keine Verbindung besteht und der Client nicht selber aktiv per ServerSocket wartet, ist keine Verbindungsaufnahme durch den Server möglich,

gäbe es keine Bedingungen, könnte man sonst ja in jedes laufende Java-Programm der Welt eindringen (bei offenen Netzwerk),
nur dass irgendwo anders im Programmcode etwas über Sockets steht kann keine Relevanz haben
 
B

Beni

Gast
Wenn der Client sowieso schon eine Verbindung erstellt, kannst du wirklich auf dem Server die Sockets sammeln. Dann gibt es verschiedene Lösungen was der Client machen kann:
- Der Client geht einfach davon aus, dass noch was kommt und versucht mal ein paar bytes zu lesen. Beim normalen Socket ist diese Operation blockierend, d.h. dein Client schläft einfach so lange bis etwas kommt (oder unendlich lange wenn nichts kommt).
- Wenn du mit NIO arbeitest, könntest du auf dem Client einen Selector machen, der dir anzeigt wenn es Daten zum lesen gibt.

Eine andere Variante wäre, dass auch die Clients ein ServerSocket anbieten. Dann muss der Server halt wissen welche Clients es gibt, und kann bei Bedarf eine neue Verbindung bauen.
 

dimebag

Mitglied
Ok, das bedeutet dass die write-Methode des ObjectInputStreams (des Clients) blockiert bis ein Request/Response vom ServerSocket kommt?! Danke! ;)
 
S

SlaterB

Gast
genau wie beim Server

> bis ein Request/Response vom ServerSocket

bis ein Request/Response vom Socket vom Server kommt, das ist nicht das ServerSocket-Objekt,
bei jeder Verbindung wird dort ja ein Socket erstellt
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Custom E Mail Adresse mithilfe Serversocket oder ähnliches Netzwerkprogrammierung 21
Tobero Java serversocket nicht nur zuganglich für localhost Netzwerkprogrammierung 6
D ServerSocket - Socket Verbindungsart Netzwerkprogrammierung 3
J 1 Socket - 2 Serversocket Netzwerkprogrammierung 4
J Client - Serversocket Netzwerkprogrammierung 1
Seikuassi Socket ServerSocket mehrmals erzeugen Netzwerkprogrammierung 1
cezary Socket ServerSocket starten über GUIIm unterstehenden Code versuche Netzwerkprogrammierung 6
J ServerSocket sauber beenden Netzwerkprogrammierung 3
H ServerSocket.accept() unterbrechen Netzwerkprogrammierung 3
TheJavaKid ServerSocket beendet mit PuTTy Netzwerkprogrammierung 9
T ServerSocket.accept Rückgabetyp casten Netzwerkprogrammierung 3
P Socket Daten senden mit ServerSocket? Netzwerkprogrammierung 2
4 Socket Kann kein ServerSocket erstellen Netzwerkprogrammierung 4
G ServerSocket.accept() überschreibt IP-Adresse Netzwerkprogrammierung 4
C serversocket.accept() klappt nicht Netzwerkprogrammierung 10
Tobse HTTP ServerSocket HTTP Netzwerkprogrammierung 4
X FAQ Frage - Netzwerkgrundlagen - ServerSocket und Socket Netzwerkprogrammierung 4
M Wahrnehmen, dass ServerSocket geschlossen wurde Netzwerkprogrammierung 14
T ServerSocket bleibt beim lesen von Input hängen Netzwerkprogrammierung 2
M ServerSocket.accept() abbrechen Netzwerkprogrammierung 8
Schandro Herausfinden ob hinter einem Port bereits ein ServerSocket steckt Netzwerkprogrammierung 2
2 Class mit ServerSocket erbt von Thread? Netzwerkprogrammierung 3
T Java Socket und ServerSocket über Internet-IP? Netzwerkprogrammierung 9
dayaftereh serverSocket.accept(); Wecken Netzwerkprogrammierung 2
G Frage zu Serversocket-Beispiel aus der FAQ Netzwerkprogrammierung 17
D Komisches Fenster bei Serversocket Netzwerkprogrammierung 2
M Kommunikation zwischen ServerSocket und Socket Netzwerkprogrammierung 2
F ServerSocket im internet zugänglich machen Netzwerkprogrammierung 15
H ServerSocket -> Zugriff nur von localhost Netzwerkprogrammierung 6
P Serversocket schmeißt immmer EOFEXCEPTION Netzwerkprogrammierung 2
A serversocket soll anfrage vom handy entgegennehmen Netzwerkprogrammierung 4
P Problem mit Socket und ServerSocket Netzwerkprogrammierung 2
S ServerSocket merkt nicht, wenn keiner mehr da ist Netzwerkprogrammierung 8
J ServerSocket vs. DatagramSocket Netzwerkprogrammierung 2
A ServerSocket prinzipielle Frage Netzwerkprogrammierung 5
D Problem ServerSocket global Netzwerkprogrammierung 3
J ServerSocket schließen / öffnen im Programmverlauf Netzwerkprogrammierung 4
G einfache Frage zu ServerSocket ... Netzwerkprogrammierung 5
C Socket Push Service realisieren? Netzwerkprogrammierung 6
G Client Server -> Server push Netzwerkprogrammierung 27
G push clientseitig auslesen Netzwerkprogrammierung 5
M server push mit ie? Netzwerkprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben