Coucou (iOS)
一个用于iOS的高度模块化网络服务发现和广播库。对于Android,请访问coucou_android仓库。
Coucou API
func startDiscovery(ofType type: String,
domain: String,
_ onResolved: (DiscoveryEvent) -> Void) -> Disposable
如何使用
创建
let coucou = Coucou.Builder()
.driver(AppleBonjour())
.logger(StandardLogger())
.build()
}
网络服务发现
let disposable = coucou.startDiscovery(ofType: "_http._tcp.") { (event) in
// TODO something with the DiscoveryEvent
if(event is ServiceResolved) {
// TODO something with event.service
} else if (event is ServiceLost) {
// TODO something with event.service
} else if (event is DiscoveryFinished) {
// TODO
} else if (event is ResolvingFinished) {
// TODO
} else if (event is DiscoveryFailure) {
// TODO
}
}
// when discovery isn't needed, dispose
disposable.dispose()
DiscoveryService
提供以下信息
public struct DiscoveryService {
let name: String
let ipaddress: String?
let port: Int
}
了解更多信息,请参考源代码。
网络服务广播
- 待完成。
安装
CocoaPods
CocoaPods 是一个 Cocoa 项目的依赖管理器。您可以使用以下命令进行安装
$ gem install cocoapods
要使用 CocoaPods 将 Coucou 集成到您的 Xcode 项目中,请在您的 Podfile
中指定它
source 'https://github.com/CocoaPods/Specs.git'
target 'ENTER_YOUR_TARGET_NAME_HERE' do
pod 'Coucou', '~> ENTER_COUCOU_VERSION_HERE'
end
然后,运行以下命令
$ pod install
完成。
Carthage
目前不支持。
待办事项
- 支持网络服务广播
- 编写单元测试
- 完成示例
- 更多文档
- 改进 README