1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
public class PropagatedPipeClient implements PipeMsgListener {
public PropagatedPipeClient(PeerGroup p) {
netPeerGroup = p;
build();
}
public static void build() {
PipeAdvertisement pipeAdv = PropagatedPipeServer.getPipeAdvertisement();
PipeService pipeService = netPeerGroup.getPipeService();
System.out.println("Creating Propagated InputPipe for " + pipeAdv.getPipeID());
try {
client.inputPipe = pipeService.createInputPipe(pipeAdv, client);
} catch (IOException e) {
e.printStackTrace();
System.exit(-1);
}
MessageTransport endpointRouter = (netPeerGroup.getEndpointService()).getMessageTransport("jxta");
if (endpointRouter != null) {
client.routeControl = (RouteControl) endpointRouter.transportControl(EndpointRouter.GET_ROUTE_CONTROL, null);
RouteAdvertisement route = client.routeControl.getMyLocalRoute();
if (route != null) {
client.routeAdvElement = new TextDocumentMessageElement(ROUTEADV, (XMLDocument) route.getDocument(MimeMediaType.XMLUTF8), null);
}
}
System.out.println("Creating Propagated OutputPipe for " + pipeAdv.getPipeID());
OutputPipe output = null;
try {
output = pipeService.createOutputPipe(pipeAdv, 1);
} catch (IOException e) {
e.printStackTrace();
System.exit(-1);
}
int i = 0;
try {
while (i < 10000000) {
Message ping = new Message();
ping.addMessageElement(PropagatedPipeServer.NAMESPACE,
new StringMessageElement(PropagatedPipeServer.SRCIDTAG, netPeerGroup.getPeerID().toString(), null));
ping.addMessageElement(PropagatedPipeServer.NAMESPACE,
new StringMessageElement(PropagatedPipeServer.SRCNAMETAG, netPeerGroup.getPeerName() + " #" + i++, null));
if (client.routeAdvElement != null && client.routeControl != null) {
ping.addMessageElement(PropagatedPipeServer.NAMESPACE, client.routeAdvElement);
}
System.out.println("Sending message :" + (i - 1));
boolean sucess = output.send(ping);
System.out.println("Send oing message status :"+sucess);
}
Thread.sleep(3000);
} catch (Exception e) {
e.printStackTrace();
}
}
} |
Partager