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);
}
我的代码错了吗?
答案 0 :(得分:2)
根据您的一条评论,我认为您在服务器上使用phpwebsocket。该项目似乎没有得到维护,并且没有及时更新websocket协议规范。
有两个不兼容的websocket协议版本正在使用中。 Safari仍然使用phpwebsocket实现的原始(现已弃用)Hixie变体; Firefox,IE10和Chrome使用较新的Hybi变体。
要对此进行测试,您可以尝试使用Safari来执行您的javascript。
如果您想在服务器上使用PHP并且需要支持多于Safari,我不确定您有哪些选项。我可以看到一个应该支持上面列出的所有浏览器的open source server。或者,如果您想尝试编写自己的服务器,可以在websocket标签下发布相当多的问题,您可以从中获取灵感。