监听一个可编码对象!
使用这个库,您距离整个套接字复杂度只需一行代码。简单、易读、有用
let observable: Observable<MyCodable> = socket.observe(eventName: "message_updates")
但是如何做?
此库使用 PublishSubjects,如果可编码模型解码成功,则将解码的对象发送到该 publishSubject,并返回其可观察版本。
// RxSocketTerminalInterface & RxSocketToggle protocols
let rxSocket = RxSocketProvider().makeSocketHandler(auth:["token": "your_token"], url: your_url)
rxSocket.start().subscribe().disposedBy(disposeBag)
rxSocket.send(eventName: "your_event_name", model: myCodable)
功能被分隔到 2 个不同的协议中
1- SocketToggle
这主要用于连接或断开连接,通常推荐在您不想监听任何模型的地方使用,例如在 AppDelegate 中。
这仅允许您连接和断开套接字
let socketToggle: RxSocketToggle = RxSocketProvider().makeSocketHandler(auth:["token": "your_token"], url: your_url)
socketToggle.start().subscribe().disposedBy(disposeBag)
socketToggle.stop()
2- SocketMessage
这用于在特定的事件名称中发送和接收模型
这仅允许你监听模型或在其特定事件上发送它。
let socketTerminal: RxSocketTerminalInterface = RxSocketProvider().makeSocketHandler(auth:["token": "your_token"], url: your_url)
let observable: Observable<MyCodable> = socketTerminal.observe(eventName: "your_event_name")
socketTerminal.send(eventName: "your_event_name", model: myCodable)
RxSocket.io
示例
运行示例项目,请首先克隆存储库,并且在 Example 目录下运行 pod install
。
需求
- RxSwift
- Socket.io
安装
RxSocket.io通过CocoaPods提供。要安装它,只需将以下行添加到您的Podfile中
pod 'RxSocket.io'
作者
behrad-kzm, [email protected]
许可证
RxSocket.io在版权© RxSwiftCommunity下提供。有关更多信息,请参阅LICENSE文件。