Android的网络服务发现协议(NSD)可以用于在小范围的网络中发现邻近设备上的某个应用。这对于一些社交网络、多人游戏类的应用会非常有帮助。
Android的NSD的使用方法大致上分为四种操作:
1. 注册网络服务
2.发现网络服务
3.连接网络服务
4.注销网络服务
使用NSD时一定要注意:
记得在Manifest中加入android.permission.INTERNET权限,不然程序会崩溃。
一. 注册网络服务
注册网络服务需要两样东西: 网络服务的信息(NsdServiceInfo)和注册事件监听器(NsdManager.RegistrationListener)
这两样东西齐全后就可以通过:NsdManager.registerService发放来注册网络服务了。实例代码如下:
public void registerService(View view) {
// 注意:注册网络服务时不要对端口进行硬编码,通过如下这种方式为你的网络服务获取
// 一个可用的端口号.
int port = 0;
try {
ServerSocket sock = new ServerSocket(0);
port = sock.getLocalPort();
sock.close();
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "can not set port", Toast.LENGTH_SHORT);
}
// 注册网络服务的名