[英]How do I specify the host for a websocket connection?
我有一个页面可以打开与服务器的websocket连接。 Websocket服务器在开发中时为ws://127.0.0.1:5000 / ws,在部署到生产环境中时为ws://www.mymachine.com/ws。 这是否有捷径,所以部署时我www.mymachine.com
from 127.0.0.1:5000
到www.mymachine.com
手动重写此URI?
我已经尝试过ws://ws
但没有用。 我正在尝试获得与普通网址相同的行为,您可以在其中使用/index
,根据其运行位置,它将转到127.0.0.1:5000/index或www.mymachine.com/index。
我有一个类似的问题。 我解决了使用:
var uri= window.location.host + window.location.pathname + 'ws'
if (window.location.protocol === 'http:') {
mysocket.connect('ws://' + uri);
} else {
mysocket.connect('wss://' +uri);
}
除了(初始化)脚本顶部的1个简单变量之外,您还可以查看File API-Blob和File引用的URL :
This specification defines a scheme with URLs of the sort:
blob:550e8400-e29b-41d4-a716-446655440000#aboutABBA.
这些都存储在一个URL store
,浏览器甚至应该拥有自己的微型HTTP服务器,以便可以在css,img src甚至XMLHttpRequest中使用这些URL。
然后,您的初始化脚本将使用if / else来构建您的url对象并将其放入存储中。
此答案中有更多信息。 (此外,使用网络套接字时,向后兼容性不是您的问题。)
希望这能使您想到一个主意。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.