皮皮网

【网上怎么安装游戏源码下载】【drools源码分析】【源码资本 观点】dns sd源码

时间:2024-12-26 11:12:29 分类:休闲 来源:云空间移除源码

1.Network Service Discovery - mDNS-SD

dns sd源码

网上怎么安装游戏源码下载

Network Service Discovery - mDNS-SD

网上怎么安装游戏源码下载        基于 AOSP master 分支,至少是 Android

网上怎么安装游戏源码下载

        以 discoverService 为例,介绍 Network Service Discovery 调用流程

网上怎么安装游戏源码下载

        frameworks/base/core/java/android/net/nsd/NsdManager.java

网上怎么安装游戏源码下载

        frameworks/base/services/core/java/com/android/server/NsdService.java

网上怎么安装游戏源码下载

        这里有两个重要方法:

网上怎么安装游戏源码下载

        frameworks/base/services/core/java/com/android/server/NsdService.java

网上怎么安装游戏源码下载

        要执行之,首先需要执行 的初始化

网上怎么安装游戏源码下载

        // 初始化过程先不分析了,结论是作为 client 端连接一个 socket 到 server端(netd)

网上怎么安装游戏源码下载

        与前文分析相同,以 “mdnssd” 为命令,以 “discover”、discoveryId、serviceType 作为参数列表

网上怎么安装游戏源码下载

        system/netd/server/main.cpp

网上怎么安装游戏源码下载

        system/core/libsysutils/src/SocketListener.cpp

网上怎么安装游戏源码下载

        onDataAvailable() 方法的具体实现在 SocketListener 子类 FrameworkListener 中

网上怎么安装游戏源码下载

        system/core/libsysutils/include/sysutils/FrameworkListener.h

网上怎么安装游戏源码下载

        先确定 mCommand 集合里有什么,才能确定具体执行的 runCommand() 方法是什么

网上怎么安装游戏源码下载

        system/netd/server/MDnsSdListener.cpp

网上怎么安装游戏源码下载

        从以上源码可知,注册的命令是 “mdnssd”,与前文的客户端匹配

网上怎么安装游戏源码下载

        具体命令的处理过程如下,前文提到了 discover 和 start-service 两个操作,这里仅分析 discover 命令

网上怎么安装游戏源码下载

        external/mdnsresponder/mDNSShared/dnssd_clientstub.c

网上怎么安装游戏源码下载

网上怎么安装游戏源码下载

copyright © 2016 powered by 皮皮网   sitemap