rosaria/Legacy/Aria/ArNetworking/javaExamples/customClientExample.java
2021-12-16 14:07:59 +00:00

77 lines
2.6 KiB
Java

import com.mobilerobots.Aria.*;
import com.mobilerobots.ArNetworking.*;
class ResponseCallback extends ArFunctor_NetPacket
{
public void invoke(ArNetPacket packet)
{
System.out.println("customClientExample: ResponseCallback: Got a packet from the server with type " + packet.getCommand());
}
}
public class customClientExample {
/* This loads all the ArNetworking classes (they will be in the global
* namespace) when this class is loaded: */
static {
try {
System.loadLibrary("AriaJava");
System.loadLibrary("ArNetworkingJava");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code libraries (AriaJava and ArNetworkingJava .so or .DLL) failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
System.exit(1);
}
}
public static void main(String argv[])
{
Aria.init();
ArClientBase client = new ArClientBase();
ResponseCallback testCB = new ResponseCallback();
ArTime startTime = new ArTime();
startTime.setToNow();
System.out.println("customClientExample: trying to connect to a server running on the local host at port 7273...");
if (!client.blockingConnect("localhost", 7273))
{
System.err.println("Error: Could not connect to server on localhost:7273, exiting.");
System.exit(1);
}
System.out.println("customClientExample: Connected after " + startTime.mSecSince() + " msec.");
client.runAsync();
System.out.println("\ncustomClientExample: Adding data handler callbacks...");
client.addHandler("test", testCB);
client.addHandler("test2", testCB);
client.addHandler("test3", testCB);
client.logDataList();
System.out.println("\ncustomClientExample: Requesting \"test\" once...");
client.requestOnce("test");
System.out.println("\ncustomClientExample: Requesting \"test2\" with a frequency of 10ms...");
client.request("test2", 100);
System.out.println("\ncustomClientExample: Requesting \"test3\" with a frequency of -1 (updates may happen at any time the server sends them) and waiting 5 sec...");
client.request("test3", -1);
ArUtil.sleep(5000);
System.out.println("\ncustomClientExample: Changing request frequency of \"test2\" to 300ms and waiting 5 sec");
client.request("test2", 300);
ArUtil.sleep(5000);
System.out.println("\ncustomClientExample: Cancelling \"test2\" request.");
client.requestStop("test2");
System.out.println("\ncustomClientExample: waiting 10 seconds, then disconnecting...");
ArUtil.sleep(10000);
client.disconnect();
ArUtil.sleep(50);
}
}