echo 总线接口定义:
import org.alljoyn.bus.BusException;
import org.alljoyn.bus.annotation.BusInterface;
import org.alljoyn.bus.annotation.BusMethod;
/*
* This interface implements a simple echo method that returns the same string
* that is receives.
*/
@BusInterface public interface EchoInterface {
/*
* Echo a string.
*
* inStr is the string to be echoed by the service, returns the echoed string.
*/
@BusMethod(signature="s", replySignature="s") public
String Echo(String inStr) throwsBusException;
}
Service端:
public class Service implementsSimpleInterface, BusObject {
public static void main(String[] args) {
/* Create a bus connection and connect to the bus */
BusAttachment bus = new BusAttachment(Service.class.getName());
bus.connect();
/* Register the service */
Service service = newService();
bus.registerBusObject(service, "/myobject");
/* Request a well-known name */
try{
bus.RequestName("org.alljoyn.echo", REQUEST_NAME_NO_FLAGS);
} catch(BusException ex) {
return;
}
/* Echo until told to stop */
while(!stop) { Thread.sleep(10000); }
}
/* Implementation of the echo method */
publicString Echo(String inStr) {
returninStr;
}
}
Client端:
public class Client {
public static void main(String[] args) {
/* Create a bus connection and connect to the bus */
BusAttachment bus = new BusAttachment(Client.class.getName());
bus.connect();
/* Get a remote object */
Class[] ifaces = { EchoInterface.class };
ProxyBusObject proxyObj = bus.getProxyBusObject("org.alljoyn.echo", "/myobject", ifaces);
SimpleInterface proxy = proxyObj.getInterface(EchoInterface.class);
/* Call the ping method on the remote object */
try{
String ret = proxy.Echo("Hello World");
System.out.println(“Echo returned: " + ret);
} catch(BusException ex) {
return;
}
}
}
官方网站:
https://www.alljoyn.org
https://developer.qualcomm.com/develop/mobile-technologies/peer-peer-alljoyn
更多开发信息请访问:高通开发者专区