我正在创建一个iOS演示,在那里我通过参考以下链接使用iOS应用程序实现控制Google/Android电视的功能。
https://github.com/Aymkdn/assistant-freebox-cloud/wiki/Google-TV-(aka-Android-TV)-Remote-Control-(v2)
这也是Node中的工作演示。https://github.com/louis49/androidtv-remote
我正在使用iOS Swift的套接字IO库实现这一点。
在连接过程中,我遇到了SSL握手失败。
下面是代码
import UIKit
import SocketIO
class ConnectViewController: UIViewController {
let manager = SocketManager(socketURL: URL(string: "wss://172.16.16.23:6467")!)
var socket:SocketIOClient!
override func viewDidLoad() {
super.viewDidLoad()
let ssl = SSLSecurity.init(usePublicKeys: true)
manager.setConfigs([.secure(true),.selfSigned(false),.security(ssl),.log(true),.sessionDelegate(self),.reconnects(false),.forceWebsockets(true),.forcePolling(true)])
self.socket = manager.defaultSocket
self.socket.on(clientEvent: .connect) {data, ack in
print("socket connected")
}
}
}
1条答案
按热度按时间xzv2uavs1#
您应该使用TLS连接而不是WSS来启动Android TV和您的应用之间的配对过程。但是,一些电视供应商没有实现此功能,因为他们没有任何证书。我至少和一个电视供应商(coocaa)面临过这个问题。要检查证书是否存在,可以尝试使用OpenSSL建立连接