Hummer
Hummer copied to clipboard
WebSocket.onopen 方法在 iOS 不生效
描述
前端参考 Hummer Websocket 文档示例代码,建立 Websocket 连接成功,send
方法可用,但 onOpen
方法始终无法收到回调。
Hummer version:
master branch
复现步骤
- 按样例代码连接 WS 服务器
-
onopen
方法无法触发
预期结果
正常打印出 WebSocket onOpen
信息。
样例代码、屏幕截图或者仓库链接
const ws = new WebSocket('ws://x.x.x.x:8000');
ws.onopen = () => {
console.log('WebSocket onOpen');
}
调试 iOS Hummer 代码发现,(void)webSocketDidOpen:(SRWebSocket *)webSocket
方法中只是执行了连接本身的一些操作,并没有去调用 self.onOpen
。
调试加上如下代码可解决:
self.onOpen ? self.onOpen(@[@{}]) : nil;