2009-04-21 4 views
0

Ich spiele mit P2P.
Ich möchte JAX-WS für die Kommunikation in einem P2P-Netzwerk verwenden.
Einige Peers sind "hinter einer Firewall", so dass sie nicht auf Ports abhören können. (Sie fungieren als Kunden).
Andere Peers dürfen Ports abhören. (Sie fungieren als Server (und Clients)).Kann JAX-WS verwendet werden, damit ein Server Web-Service-Aufrufe auf einem Client ausführen kann?

Nun möchte ich aus der Tatsache abstrahieren können, welche Peers Server sind und welche nicht. So müssen Peers in der Lage sein, Web-Service-Befehle miteinander, mit gleich "Fähigkeiten" für Server-Peers und Client Peers auszuführen.

In einer „Welt ohne Web-Services“ Ich habe einen Socket öffnen würde, und nach der Socket geöffnet wird, Server-Clients auf die gleiche Art und Weise Kunden sprechen zu Servern (in beide Richtungen gleichermaßen sprechen könnte, weil die Verbindung offen bleibt).

Aber JAX-WS basiert auf (zustandslos) HTTP, und es gibt keine solche Sache wie "HTTP-Verbindungen".
Also konnten Server keinen Client anrufen, richtig?

Was kann getan werden, um dies zu überwinden?

Antwort

1

Kann ich vorschlagen, dass Sie einen Blick auf JXTA werfen? Dies ist eine Java-Technologie für den Aufbau von Peer-to-Peer-Systemen und wird mit Kollegen hinter Firewalls etc. umgehen.

Offensichtlich können Sie JAX-WS verwenden, aber Sie sollten sich JXTA ansehen, wenn Sie sind nicht bewusst. Ich vermute, dass es eine Reihe von Problemen für Sie lösen wird.

1

im Web-Service-Paradigma, haben Sie eine 'RICHTUNG' für Anruf, gibt es einen Client (Request Initiator) und Service (Request Servant) ... also, wenn Sie beide Entitäten (Station1 und Station2) in der sein gleichzeitig ws-client und ws-server, können sie dieses problem lösen.

Eine weitere Option für Clients hinter einer Firewall ist die ws-Server (Client ruft in regelmäßigen Abständen die ws Nachrichten erfahren) POLL

+0

In meiner Frage geschrieben habe ich, dass einige Kollegen Kunden-only sind, weil sie die Firewall geschützt sind . Also funktionieren Client und Server nicht für alle Peers. Ich habe auch über periodische Anrufe nachgedacht, aber das würde die Notwendigkeit von JAX-WS überhaupt in Frage stellen. –

+0

Polling ist nur eine Möglichkeit, WS zu verwenden. - WS kommt mit Vorteilen (vereinfachte Kommunikation) – silmx

Verwandte Themen