我开发了一个多人纸牌游戏,因此使用了websocket。为了在php中实现websocket,我使用了this library
我把它放到我的ubuntu服务器上,程序在Chrome浏览器和Firefox中运行正常(前端是使用Javascript实现的)。 使用边缘浏览器时,会出现错误,指出“ReferenceError:WebSocket未定义”。但是在互联网上我已经读到Edge应该通常支持websockets。
我已经检查过,文档模式是否是另一个IE版本,但它也设置为edge。 确切的版本是11.0.0600.18537。
以下是我的代码(虽然我不认为这是一个问题,因为它在其他浏览器中工作)
connectToSocket=function() {
var host = "ws://[host]:9000/echobot";
try
{
socket = new WebSocket(host);
console.log('WebSocket - status ' + socket.readyState);
...
}
catch(ex){
console.log('some exception : ' +ex);
}
有人知道边缘会出现什么问题吗?
答案 0 :(得分:8)
您确定要在代码中编写WebSocket
吗?该错误表示未定义Websocket
(使用非大写s
)。
实际的班级名称为WebSocket
,资本为S
。
请确认您粘贴的代码与您在应用程序中使用的代码完全相同。
修改强>
在评论中进行了一些进一步的讨论之后,我相信您的浏览器中的WebSocket支持可能是disabled。根据我自己的experiment和Can I Use,您的浏览器版本(11.0.0600.18537)应支持WebSocket。