Firefox 无法在 ws://192.168.0.155:5555/socket/server3.php 建立与服务器的连接。
$(document).ready(function(){
if(!("WebSocket" in window)){
alert('not available');
}else{
_init();
}
});
function _init(){
var websocket;
var host = 'ws://192.168.0.155:5555/socket/server3.php';
try{
websocket = new WebSocket(host);
websocket.onopen = function(evt){ onOpen(evt); };
websocket.onclose = function(evt) { onClose(evt); };
websocket.onmessage = function(evt) { onMessage(evt); };
}catch(exception){
alert(exception);
}
}
function onOpen(evt){
$('.logger_screen').append('Connected');
}
function onClose(evt){
$('.logger_screen').append('Disconnected');
}
function onMessage(evt){
$('.logger_screen').append(evt.data);
}
我的代码有问题??
从您的一条评论中,我认为您在服务器上使用了phpwebsocket。 这个项目似乎没有得到维护,也没有跟上websocket协议规范的变化。
有两个不兼容的 websocket 协议版本正在使用。 Safari仍然使用phpwebsocket实现的原始(现已弃用的)Hixie变体;Firefox,IE10和Chrome使用较新的Hybi变体。
为了测试这一点,你可以尝试使用 Safari 来执行你的 JavaScript。
我不确定如果您想在服务器上使用 PHP 并且需要支持比 Safari 更多的内容,您有什么选择。 我可以看到一个开源服务器,它应该支持上面列出的所有浏览器。 或者,如果你想尝试编写自己的服务器,这里有很多问题,在websocket标签下,你可以从中得到启发。