发布和发现自定义JXTA广告

时间:2011-06-19 09:12:25

标签: p2p advertisement jxta

我正在使用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

1 个答案:

答案 0 :(得分:0)

自定义广告在JXTA中有点棘手。为简单起见,请查看Scribd在线提供的Practical JXTA II书籍。

根据您的提及,您的搜索代码肯定存在问题。您的广告很可能没有“注册”。如果您使用NAT后面的同行,请记住2.5被窃听。您需要使用2.6或2.7。