0

我正在玩P2P
我想使用JAX-WS在 P2P 网络中进行通信。
一些对等点“在防火墙后面”,因此它们无法侦听端口。(他们充当客户)。
允许其他对等方侦听端口。(它们充当服务器(和客户端))。

现在我希望能够从事实中抽象出来,哪些对等点是服务器,哪些不是。因此,对等点必须能够相互执行 Web 服务命令,并且对服务器对等点和客户端对等点具有相同的“能力” 。

在“没有 Web 服务的世界”中,我会打开一个套接字,在打开套接字之后,服务器可以以与客户端与服务器对话相同的方式与客户端对话(在两个方向上均等,因为连接保持打开状态)。

但是 JAX-WS 是基于(无状态)HTTP的,没有“HTTP 连接”之类的东西。
所以,服务器不能进行客户端调用,对吧?

可以做些什么来克服这个问题?

4

2 回答 2

1

我可以建议您看看JXTA吗?这是一种用于构建对等系统的 Java 技术,将处理防火墙等后面的对等点。

显然,您可能必须使用 JAX-WS,但如果您不了解 JXTA,您应该看看它。我怀疑它会为你解决一些问题。

于 2009-04-21T17:40:40.253 回答
1

在 Web 服务范例中,您有一个用于调用的“DIRECTION”,有一个客户端(请求发起者)和一个服务(请求服务者)......所以,如果你让两个实体(station1 和 station2)在同一时间 ws-客户端和ws-server,就可以解决这个问题。

防火墙后面的客户端的另一个选择是轮询 ws-server(客户端定期调用 ws 以查找新闻)

于 2009-04-21T17:46:38.303 回答