公司前段时间做了个功能,本地客户端会启动一个 webview 窗口,并通过它和本机浏览器上的一个页面建立 WebRTC 通信,然后互相交换数据。本地的 webview 会借助客户端的通信能力,和浏览器上的网页各自接收服务器的消息,满足条件后就可以借助服务器交换 icecandidate 和 sdp,随后建立连接。
但是我们在使用过程中发现了问题,Mac 机器的 WebRTC 无法成功建立。因为公司的机器上安装了 Zscaler,它是个网络流量监控和代理的工具,所以很快怀疑到它身上,测试一下发现把它退了后就能成功连接了。另外 windows 系统并没有受到它影响,退不退 Zscaler 都可以连接。