我正在开发php网页而且我想使用web socket。我开发了一个javascript web套接字客户端。我使用java开发了一个websocket.Locally web socket客户端工作正常。但是当托管时,它无法正常工作。我的文件Socket运行良好。当网页在本地运行时,我使用托管的java web套接字,它运行良好。 这是我的javacript Web套接字客户端
var INIT_WS = "ws://184.72.171.96:9059/";
function openwebsocket(uname){
if(webSocket !== undefined && webSocket.readyState !== WebSocket.CLOSED){
writeResponse("WebSocket is already opened.");
return;
}
webSocket = new WebSocket(INIT_WS + "Sl2World/slworldendpoint/"+uname);
webSocket.onopen = function(event){
if(event.data === undefined)
return;
writeResponse(event.data);
};
webSocket.onmessage = function(event){
writeResponse(event.data);
};
webSocket.onclose = function(event){
writeResponse("Connection closed");
};
}
当php网页托管时,为什么它不工作。在这种情况下我无法得到任何错误消息。我的东西web套接字连接请求不会转到java web socket。 谢谢。
答案 0 :(得分:0)
这似乎是主机上的安全配置问题。当您的本地PHP文件连接没有问题时,这将是因为主机网络上的网络防火墙问题不会影响在同一网络上运行的PHP文件。此时大多数Web主机都不支持websockets,因为它们的环境还没有为它们设计。最好的办法是找到一个专门允许websockets的主机,然后询问他们允许使用哪些套接字号,或者设置自己的虚拟机或专用机器来运行你的java应用程序。