我正在玩 P2P 我想在P2P网络中使用 JAX-WS 进行通信 有些同行“落后于防火墙”,因此他们无法侦听端口。 (他们充当客户) 允许其他对等端侦听端口。 (他们充当服务器 (和客户))。
现在我希望能够从事实中抽象出来,哪些是同行 是服务器,哪些不是。因此,同行必须能够执行 彼此的web服务命令, 相等“能力”用于服务器对等和客户端对等。
在“没有网络服务的世界”中,我会打开一个套接字,之后 套接字打开,服务器可以与客户端通信 与客户端与服务器通信的方式相同 (两个方向,因为连接保持打开状态。)
但是JAX-WS基于(无状态) HTTP ,并且没有这样的东西
“HTTP连接”。
因此,服务器无法拨打客户电话,对吧?
可以做些什么来克服这个问题?
答案 0 :(得分:1)
我可以建议您查看JXTA吗?这是一种用于构建对等系统的Java技术,并将处理防火墙后面的对等等。
显然你可能 使用JAX-WS,但如果你不知道它,你应该看看JXTA。我怀疑它会为你解决一些问题。
答案 1 :(得分:1)
在Web服务范例中,你有一个'DIRECTION'用于调用,有一个客户端(请求发起者)和服务(请求服务员)...所以,如果你让两个实体(station1和station2)在同一个时间ws-client和ws-server,你可以解决这个问题。
防火墙后面的客户端的另一个选择是POLL the ws-server(客户端定期调用ws来查找新闻)