我正在使用JXTA 2.5来实现P2P拍卖应用程序。 在那里,我需要实现发布和发现“Product_Advertisement”以在市场组中的同行上宣传可用产品。 我创建了一个扩展Advertisement超类的自定义Product_Advertisement类型。这是一个发布的示例广告:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jxta:ProductAdvertisement>
<jxta:ProductAdvertisement xml:space="default" xmlns:jxta="http://jxta.org">
<ID>
urn:jxta:jxta-Null
</ID>
<name>
Sample Product
<name/>
<price>
23.50
</price>
<quantity>
4
</quantity>
<exchangeProducts/>
</jxta:ProductAdvertisement>
即使发布了“Product_Advertisement”没有问题,广告的发现并没有像我预期的那样讨价还价。当我使用peergroup的discoveryService并捕获发布的广告时,这是我在使用收到广告的.toString()时收到的内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jxta:MIA>
<jxta:MIA xml:space="default" xmlns:jxta="http://jxta.org">
<MSID>
urn:jxta:uuid-DEADBEEFDEAFBABAFEEDBABE000000010206
</MSID>
<Desc>
Default Network PeerGroup reference implementation
</Desc>
<Comp>
<Efmt>
JDK1.4.1
</Efmt>
<Bind>
V2.0 Ref Impl
</Bind>
</Comp>
<Code>
net.jxta.impl.peergroup.ShadowPeerGroup
</Code>
<PURI>
http://jxta-jxse.dev.java.net/download/jxta.jar
</PURI>
<Prov>
sun.com
</Prov>
<Parm>
<Svc>
urn:jxta:uuid-DEADBEEFDEAFBABAFEEDBABE000000100106
</Svc>
<Svc>
urn:jxta:uuid-DEADBEEFDEAFBABAFEEDBABE0000000E0106
</Svc>
<Svc>
</Parm>
</jxta:MIA>
有人可以告诉我我做错了什么吗?
提前致谢, Dileepa
答案 0 :(得分:0)
自定义广告在JXTA中有点棘手。为简单起见,请查看Scribd在线提供的Practical JXTA II书籍。
根据您的提及,您的搜索代码肯定存在问题。您的广告很可能没有“注册”。如果您使用NAT后面的同行,请记住2.5被窃听。您需要使用2.6或2.7。