We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Q: 在公司内部的局域网无法相互发现以及数据传输。
A: 通常公司内部的网络环境会更复杂,且对称型NAT无法在公网环境下实现NAT穿透。这种情况下比较建议在公司内部部署服务,在公司内部通常就不会再存在NAT,每个设备都会有独立的局域网IP地址,当然在公司内部网络部署STUN/TURN也很方便(coturn),都可以解决这个问题。
NAT
IP
STUN/TURN
Q: 某些移动端浏览器无法下载blob:https://xxx的文件地址。
blob:https://xxx
A: 这是一个优化方向,通过WebRTC传输的文件更像是流式下载的数据,但是没有Content-Disposition: attachment; filename="name.xxx" 的响应头,此时便不会将其作为文件下载。在这种情况下实际上可以借助Service Worker来作为后端服务,将数据片转发到SW后添加attachment响应头转发回来,可以解决blob://链接的下载问题,并且还通过实现流式下载避免了超大文件的传输问题。
WebRTC
Content-Disposition: attachment; filename="name.xxx"
Service Worker
SW
attachment
blob://
Q: 即使是在局域网中也无法相互发现设备。
A: 这种情况通常是由于某个设备开启了VPN,当设备开启VPN的情况下,设备的IP地址将会被识别为代理设备的地址,因此会导致两个设备不会识别到同一个房间,导致无法相互发现。在这种情况下可以发现通过输入设备id是可以连接的,可以据此排查问题,如果还有其他可能导致局域网无法相互发现的问题会在这里继续补充。
VPN
id
Q: 大型文件无法传输,接收大型文件时浏览器会崩溃。
A: 在默认传输模式下,Chrome会限制内存2GB左右,Firefox会限制内存800MB左右,因此默认模式直接将文件内容暂存于内存的方式,可能会导致浏览器崩溃。当前已基于Service Worker实现大型文件的流式传输,需要在传输方的接收端的url加入mode=stream,例如https://webrtc.touchczy.top/?mode=stream。如果是自行部署的数据传输服务,需要关注Service Worker必须要运行在HTTPS的安全环境下,可以研究下Let's Encrypt的证书签发。
Chrome
2GB
Firefox
800MB
url
mode=stream
https://webrtc.touchczy.top/?mode=stream
HTTPS
Let's Encrypt
The text was updated successfully, but these errors were encountered:
No branches or pull requests
BLOG
FAQ
Q: 在公司内部的局域网无法相互发现以及数据传输。
A: 通常公司内部的网络环境会更复杂,且对称型
NAT
无法在公网环境下实现NAT
穿透。这种情况下比较建议在公司内部部署服务,在公司内部通常就不会再存在NAT
,每个设备都会有独立的局域网IP
地址,当然在公司内部网络部署STUN/TURN
也很方便(coturn),都可以解决这个问题。Q: 某些移动端浏览器无法下载
blob:https://xxx
的文件地址。A: 这是一个优化方向,通过
WebRTC
传输的文件更像是流式下载的数据,但是没有Content-Disposition: attachment; filename="name.xxx"
的响应头,此时便不会将其作为文件下载。在这种情况下实际上可以借助Service Worker
来作为后端服务,将数据片转发到SW
后添加attachment
响应头转发回来,可以解决blob://
链接的下载问题,并且还通过实现流式下载避免了超大文件的传输问题。Q: 即使是在局域网中也无法相互发现设备。
A: 这种情况通常是由于某个设备开启了
VPN
,当设备开启VPN
的情况下,设备的IP
地址将会被识别为代理设备的地址,因此会导致两个设备不会识别到同一个房间,导致无法相互发现。在这种情况下可以发现通过输入设备id
是可以连接的,可以据此排查问题,如果还有其他可能导致局域网无法相互发现的问题会在这里继续补充。Q: 大型文件无法传输,接收大型文件时浏览器会崩溃。
A: 在默认传输模式下,
Chrome
会限制内存2GB
左右,Firefox
会限制内存800MB
左右,因此默认模式直接将文件内容暂存于内存的方式,可能会导致浏览器崩溃。当前已基于Service Worker
实现大型文件的流式传输,需要在传输方的接收端的url
加入mode=stream
,例如https://webrtc.touchczy.top/?mode=stream
。如果是自行部署的数据传输服务,需要关注Service Worker
必须要运行在HTTPS
的安全环境下,可以研究下Let's Encrypt
的证书签发。The text was updated successfully, but these errors were encountered: