【发布时间】:2019-07-17 23:26:41
【问题描述】:
我正在尝试复制此库 https://github.com/rnbguy/pysphere/blob/master/misphere.py 的功能,该库通过 websockets 连接到 Mi Sphere 360 相机。
重要的代码在这里
ms_ip = '192.168.42.1'
ms_tcp_port = 7878
ms_uk_port = 8787
ms_fs_port = 50422
def init(self):
self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
self.socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
self.socket.connect((self.ms_ip, self.ms_tcp_port))
self.socket_1 = socket.socket()
self.recv_handle_live = True
self.recv_thread = threading.Thread(target=self.recv_handler)
self.recv_thread.daemon = True
self.session = Session()
self.session.conf = {}
self.session.locks = {}
self.last_send = 0
我正在尝试使用 Node 中的 ws 库来做到这一点
const ip = '192.168.42.1'
const port = '7878'
const url = `ws://${ip}:${port}`
const websocket = new WebSocket(url)
但是我没有连接到相机。 (通过Wifi连接,但websocket从不发送连接消息)
我想知道这是否与 Phython 代码中列出的协议有关。
我在 websocket 文档中看到您可以在连接中定义协议,但我找不到任何有关这些协议是什么以及如何添加它们的文档。
即
self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
self.socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
有人知道我如何在 Node websocket 连接中添加这样的东西吗?
【问题讨论】: