System.out.println("Recvier DataPackeg:" + recvierCount);
System.out.println("Recvier is over");
System.exit(0);
}
}
jms也是一个类的对象,通过跟发送方管道广告构造,(此处一定要注意,发送方和接收方的构造管道广告参数一定是一样的)免得大家走弯路,我可是在这上面浪费了两天时间的。
其余代码则省略了。无非是一些构建网络,查找加入组,搜索广告的操作。该代码通过了在局网内两台电脑上的运行测试。由于时间关系,没做进一步优化,也由于其他原因,我不便将全部代码上传,还望见谅!
此项目采用的是广播方式,其实,事后我也想过,既然服务器端和客户端均由软件开发人员完成,大可以事先构造一个管道广告,然后让服务器端和客户端共用这个管道广告来构造JxtaMulticastSocket的对象,毕竟在JXTA中,所有资源用广告来标识,而广告ID也是唯一的,类似于我们的IP地址。而JXTA本身就有缓存机制,广告被一个对等体搜索到后会缓存在本地一段时间,而除非人为操作或是到期,该广告不会根据该广告所表示的资源是否在线而消失。因此可以省去搜索管道广告的这一过程,而通过捕获异常或其他办法来解决通过JXTA构建的P2P网络的不稳定性。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/