jxta学习笔记2~helloworld~

本文介绍两个基于JXTA平台的P2P程序示例:HelloJXTA与HelloWorld。通过这两个程序,展示了如何创建P2P组、启动JXTA平台以及获取对等点的基本信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

跑通了这个helloworld程序,把基本信息列出:

1、HelloJXTA:

package test;

 

import net.jxta.exception.PeerGroupException;
import net.jxta.peergroup.PeerGroup;
import net.jxta.peergroup.PeerGroupFactory;

 

public class HelloJXTA {
 public static void main(String args[]) {
  System.out.println("Starting JXTA....");
  HelloJXTA myapp = new HelloJXTA();
  myapp.startJXTA();
  System.exit(0);
 }

 public void startJXTA() {

  //创建一个组
  PeerGroup pg = null;
  try {

  //获得一个static PeerGroup
   pg = PeerGroupFactory.newNetPeerGroup();
  } catch (PeerGroupException e) {
   System.out.println("Fatal error:group creation failure");
   e.printStackTrace();
   System.exit(1);
  }
  System.out.println("Hello JXTA!:)");
  System.out.println("Group name = " + pg.getPeerGroupName());
  System.out.println("Group ID = " + pg.getPeerGroupID().toString());
  System.out.println("Peer name = " + pg.getPeerName());
  System.out.println("Peer ID = " + pg.getPeerID().toString());
  System.out.println("Peer BaseClass = "
    + pg.refTcpProtoSpecID.getBaseClass());
 }
}

运行结果如下:

Starting JXTA....
Hello JXTA!:)
Group name = NetPeerGroup
Group ID = urn:jxta:jxta-NetGroup
Peer name = 123
Peer ID = urn:jxta:uuid-59616261646162614A78746150325033C7832834DFBE4DCFB4EDCB5C6E7F455103
Peer BaseClass = urn:jxta:uuid-DEADBEEFDEAFBABAFEEDBABE0000000905

 

2、HelloWorld:

package test;

import net.jxta.peergroup.NetPeerGroupFactory;
import net.jxta.peergroup.PeerGroup;

public class HelloWorld {
 static PeerGroup netPeerGroup = null;

 public static void main(String args[]) {
  System.out.println("Starting JXTA...");
  HelloWorld myapp = new HelloWorld();
  myapp.startJxta();
  System.out.println("Group ID = "
    + netPeerGroup.getPeerGroupID().toString());
  System.out.println("Peer name  = " + netPeerGroup.getPeerGroupName());
  System.out.println("Peer ID = " + netPeerGroup.getPeerID().toString());
  System.out.println(" Good Bye .... ");
  // 对等点应用
  myapp.netPeerGroup.stopApp();
  System.exit(0);
 }

 private void startJxta() {
  try {// 创建默认的JXTA NetPeerGroup
   this.netPeerGroup = (new NetPeerGroupFactory()).getWeakInterface();
  } catch (Exception e) {
   // 如果出现异常,打印出错信息并退出
   System.out.println("fatal error:group creation failure");
   e.printStackTrace();
   System.exit(1);
  }
 }
}

运行结果如下:

Starting JXTA...
Group ID = urn:jxta:jxta-NetGroup
Peer name  = NetPeerGroup
Peer ID = urn:jxta:uuid-59616261646162614A78746150325033C7832834DFBE4DCFB4EDCB5C6E7F455103
 Good Bye ....

 

第一次运行时需要配置一个窗体,参考这个官方的链接即可:

https://jxta-jxse.dev.java.net/confighelp.html

 

当配置完成后,系统会在当前程序的文件夹下自动生成一个.jxta文件夹,在里面有一个名为的PlatformConfig的文件,它遵循xml格式并存储着各项基本信息:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jxta:CP>
<jxta:CP type="jxta:PlatformConfig" xmlns:jxta="http://jxta.org">
 <PID>
  urn:jxta:uuid-59616261646162614A78746150325033D0520D5042C04847B02CB3F8873378E803
 </PID>
 <Name>
  nyy
 </Name>
 <Desc>
  Platform Config Advertisement created by : net.jxta.impl.peergroup.AutomaticConfigurator
 </Desc>
 <Svc>
  <MCID>
   urn:jxta:uuid-DEADBEEFDEAFBABAFEEDBABE0000000E05
  </MCID>
  <Parm>
   <isOff/>
  </Parm>
 </Svc>
 <Svc>
  <MCID>
   urn:jxta:uuid-DEADBEEFDEAFBABAFEEDBABE0000000605
  </MCID>
  <Parm type="jxta:RdvConfig" config="client" xmlns:jxta="http://jxta.org"/>
 </Svc>
 <Svc>
  <MCID>
   urn:jxta:uuid-DEADBEEFDEAFBABAFEEDBABE0000000905
  </MCID>
  <Parm>
   <jxta:TransportAdvertisement xmlns:jxta="http://jxta.org" type="jxta:TCPTransportAdvertisement">
    <Protocol>
     tcp
    </Protocol>
    <ConfigMode>
     auto
    </ConfigMode>
    <Port start="0" end="0">
     0
    </Port>
    <MulticastAddr>
     224.0.1.85
    </MulticastAddr>
    <MulticastPort>
     1234
    </MulticastPort>
    <MulticastSize>
     16384
    </MulticastSize>
   </jxta:TransportAdvertisement>
  </Parm>
 </Svc>
 <Svc>
  <MCID>
   urn:jxta:uuid-DEADBEEFDEAFBABAFEEDBABE0000000F05
  </MCID>
  <Parm type="jxta:RelayConfig" client="true" xmlns:jxta="http://jxta.org">
   <client>
    <seeds>
     <addr seeding="true">
      http://rdv.jxtahosts.net/cgi-bin/relays.cgi?2
     </addr>
    </seeds>
   </client>
   <server/>
  </Parm>
 </Svc>
 <Svc>
  <MCID>
   urn:jxta:uuid-DEADBEEFDEAFBABAFEEDBABE0000000505
  </MCID>
  <Parm type="jxta:PSEConfig" xmlns:jxta="http://jxta.org">
   <RootCert>
    <Certificate>
     MIICAjCCAWugAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMRUwEwYDVQQKDAx3d3cuanh0YS5vcmcx
DzANBgNVBAMMBm55eS1DQTEdMBsGA1UECwwUQzNDNEU1Njg4QkY2MDk1OTVGMzcwHhcNMDgwNzEw
MDcwNjAyWhcNMTgwNzEwMDcwNjAyWjBHMRUwEwYDVQQKDAx3d3cuanh0YS5vcmcxDzANBgNVBAMM
Bm55eS1DQTEdMBsGA1UECwwUQzNDNEU1Njg4QkY2MDk1OTVGMzcwgZ8wDQYJKoZIhvcNAQEBBQAD
gY0AMIGJAoGBAKP2acyfTFVXOXmxnNwDnZjX6iTRnI3czOCMcw8X5oUWXHLpFfnxBnJCCdioEQVH
2jjPjY1GgX1EB39L0BVGJStkYrEFnitXHKqKOBz9q3w1YjAUSoMmUk+O2S/qN9pdlPdx1b1ZBEv6
7uLYc2kVomW30MRRkbsziGpuRYN9UCkpAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAW8S8pAdnyrzo
idZ6uEy59yOKvXJmimb9QpKPR0NNdmD5rzA0w0pOoQtlISgkzZG3twuGxMhXWRwXmJFgyfUQz3Uo
GYWnXopGIyhG/xY+6dpTHP4dPgeF8mCROGgYMpBjqAT30vD+RTQlvo0ZhDyZfTZ2oFSiftE9XwKh
KObVSBg=
    </Certificate>
    <EncryptedPrivateKey algorithm="RSA">
     MIICoTAbBgkqhkiG9w0BBQMwDgQIzwL7lW2V6hECAgH0BIICgDrP5ejYECxt7S4D4T25xePHsA02
/nY18Q0wOX6PK5CrBSmmN6AA4tm5fxwKomAtASRs9ATJ36XayawsVmgXaOr/S5yAfwW0RMbD6bx+
/iukP0/mjeNJkqPDkXZvqQHVv4rBWDiofcz6hlCJx7YMT/wSWGKDNenYwzCOHWrwxmCihjN2Sxr4
DifpqzCZ9AwVNLL+C+SqU4svKSAkbfB/iJvtg77wBajG3boyimUkpvY8JEPpPzsRbOtVYV/zf8+Y
eQTIB5dY4lbknlhWBc+cFECHBdptz0m+iVYgMZpQXE87gk9Qvqkgq30Mm0Lq+DcbIBJ+tZ+/g3i3
wt89g63u0lYkXn2wAeSKhH1FTtFuWfkUEP2WeqYafWJqpSfVDUunkfgF/5havhgfYskLoFKjxcqH
MsS/WG7LlBLr4X6j4MFSv5LWMUbNYON3fNDrZteu/8HxDhvB4ZuYxCmnUaUH2wB8+B69JmxEqVD2
jQTAVjap7i+duLbrNLMcS2DE2gMm8TkqE1n2qi5vlz0ZvIIY+46+qM5s67VX3vwlSTwV/YJT8q1L
m8tfjKGi0QKMmeh7XTwmvtyoLmlnDqxILUTmZBXGnpTobniJuIZhQzypwNyHQ0S8yr+i/K8CCSyv
MNaxIa+kLK8ZKPDYv9DX5FfgiXT8kyyalKIgF4LwtOSec+fVUog8gfGLftgvLHcXutoCdIlIE/SW
H4TanOWDhflxUSq422rh9vMFKEtDtKCmOjvtUtfHAZojOPyP0XZGUp5E0Y1BFMw8oT1qmcIvCH+U
cRIEpStg/PvT0h5WOLa/6qU5VV+Mbz9F6M0zGfvbJk7+GFwqhQzFqh481B1S8W0Jn+E=
    </EncryptedPrivateKey>
   </RootCert>
  </Parm>
 </Svc>
 <Svc>
  <MCID>
   urn:jxta:uuid-DEADBEEFDEAFBABAFEEDBABE0000000A05
  </MCID>
  <Parm>
   <jxta:TransportAdvertisement xmlns:jxta="http://jxta.org" type="jxta:HTTPTransportAdvertisement">
    <Protocol>
     http
    </Protocol>
    <ConfigMode>
     auto
    </ConfigMode>
    <Port>
     0
    </Port>
    <ProxyOff/>
    <ServerOff/>
   </jxta:TransportAdvertisement>
  </Parm>
 </Svc>
</jxta:CP>

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值