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
|
import mil.navy.nrl.norm.NormEvent;
import mil.navy.nrl.norm.NormFile;
import mil.navy.nrl.norm.NormInstance;
import mil.navy.nrl.norm.NormNode;
import mil.navy.nrl.norm.NormObject;
import mil.navy.nrl.norm.NormSession;
import mil.navy.nrl.norm.enums.NormEventType;
import mil.navy.nrl.norm.enums.NormObjectType;
/**
* Example code to receive a file from the NormFileSend example.
*
* @author Jason Rush
*/
public class NormFileRecv {
public static void main(String[] args) throws Throwable {
if (args.length != 1) {
System.err.println("Usage: NormFileRecv <rxCachePath>");
return;
}
NormInstance instance = new NormInstance();
instance.setCacheDirectory(args[0]);
NormSession session = instance.createSession("224.1.2.3", 6003,
NormNode.NORM_NODE_ANY);
session.startReceiver(1024 * 1024);
NormEvent event;
while ((event = instance.getNextEvent()) != null) {
NormEventType eventType = event.getType();
NormObject normObject = event.getObject();
System.out.println(eventType);
switch (eventType) {
case NORM_RX_OBJECT_INFO:
byte[] info = normObject.getInfo();
String infoStr = new String(info, "US-ASCII");
System.out.println("Info: " + infoStr);
break;
case NORM_RX_OBJECT_COMPLETED:
if (normObject.getType() == NormObjectType.NORM_OBJECT_FILE) {
NormFile normFile = (NormFile)normObject;
String filename = normFile.getName();
System.out.println("NormFileObject: " + filename);
}
break;
}
}
session.stopReceiver();
session.destroySession();
instance.destroyInstance();
}
}
|