我试图使用此 Flask 扩展来实现 WebSocket 服务器: https://flask-socketio.readthedocs.io/en/latest/
我看到客户端正在使用这样的套接字:
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/socket.io/1.3.6/socket.io.min.js"></script>
<script type="text/javascript" charset="utf-8">
var socket = io.connect('http://' + document.domain + ':' + location.port);
socket.on('connect', function() {
socket.emit('my event', {data: 'I\'m connected!'});
});
</script>
为什么它使用 http://
而它应该是 WebSocket 服务器(使用 ws://
)?
最佳答案
Socket.IO 唯一感兴趣的协议(protocol)部分是 s
部分,即 http(s), ws(s)
,即是否连接应该是加密的。除此之外,协议(protocol)被忽略,Socket.IO 会尝试多种不同的协议(protocol)(websockets、http 长轮询等)来建立连接。取决于服务器支持的内容。
关于python - 为什么 Flask-SocketIO 有 `http` 协议(protocol)而不是 `ws` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51848526/