PeerDeviceNet

组播通信API

首 页 | 特色 | 安装 | 用户指南 | 应用开发API | 联系我们
简介 | 远程intenting | 组播通信 | 设备连接

友机互联网的目标是促成一组移动设备之间的通信。 一个可能的选择是利用“组播”通信技术,如Java 的组播API 。 然而,对于移动应用程序的开发, “组播”技术有一些严重的缺陷,例如, 数据传输不可靠,电力耗费太大等等。在移动通信的应用中,通常建议只短时间打开“组播”通信,用完后立即关闭,以节省电能。

友机互联网是在TCP连接上建立了简单的“组播”功能: 友机互联网 的“组播”API是仿照Java的MulticastSocket API,可归纳为以下4种操作:

使用这个“组播”API的应用程序,需要 在AndroidManifest.xml中添加以下权限:

<uses-permission android:name="com.xconns.peerdevicenet.permission.REMOTE_MESSAGING" />

友机互联网提供了三种类型的异步API,以支持组播通信:

  1. Intent API
应用程序可以使用 startService()发送以下的 intents 来加入/离开“组播”组,和发送消息:
应用程序可以使用广播接收器来接受并处理以下信息,包括应用信息和组成员身份更改事件:
请参考这个使用 intents 的聊 天应用程序
  1. IDL API
使用AIDL API的应用程序将结合以下服务:
ACTION_GROUP_SERVICE =“com.xconns.peerdevicenet.GroupService”

这项服务提供下面的界面,用来加入/离开组播组和发送信息:
IRouterGroupService {
    oneway void joinGroup(String groupId, in DeviceInfo[] peers, in IRouterGroupHandler h);
    oneway void leaveGroup(String groupId, in IRouterGroupHandler h);
    oneway void send(String groupId, in DeviceInfo dest, in byte[] msg);
    oneway void getPeerDevices(String groupId);
}

加入“组播”组时,应用程序将登记具有以下界面的处理程序,来接受应用信息和组成员身份更改事件:
IRouterGroupHandler {
    oneway void onReceive(in DeviceInfo src, in byte[] msg);
    oneway void onPeerJoin(in DeviceInfo device);
    oneway void onPeerLeave(in DeviceInfo device);
    oneway void onSelfJoin(in DeviceInfo[] devices);
    oneway void onSelfLeave();
    oneway void onGetPeerDevices(in DeviceInfo[] devices);
    oneway void onError(in String errInfo);
}

请参考这个使用IDL接口的聊 天应用程序
  1. Messenger API

如果您的应用程序使用Android标准消息传递模式“信使” (Messenger),请结合以下服务:

ACTION_MESSENGER_SERVICE =“com.xconns.peerdevicenet.Messenger”

一旦绑定,返回的Messenger可以用来发送消息,下面是相关的消息ID:

public final static int JOIN_GROUP = -10400;
public final static int LEAVE_GROUP = -10401;
public final static int SEND_MSG = -10500;

加入“组播”组时,应用程序登记一个接收信息的Messenger, 用来接受应用信息和组成员身份更改事件:

public final static int RECV_MSG = -10510;
public final static int SELF_JOIN = -10410;
public final static int PEER_JOIN = -10411;
public final static int SELF_LEAVE = -10412;
public final static int PEER_LEAVE = -10413;

请参考这个使用MessengerAPI的聊 天应用程序

可以从这里下载聊 天应用程序的完整的源代码,也可以从谷 歌Play下载安装这个应用程序。


Terms of Use