오로라 17, 크롬 22, 파이어 폭스 16을 사용 중이며 간단한 채팅 앱을 만들려고합니다. 노드 0.8.9를 사용하고 있습니다.Firefox Nodejs Websocket
파이어 폭스가 오류
Firefox can't establish a connection to the server at ws://localhost/.
나는 또한 포트를 시도하고는 동일한 메시지 여기
Firefox can't establish a connection to the server at ws://localhost:4444/.
이에게주는 연결할 수 없다는 오류가되어 내 코드입니다 :
서버 코드 :
var http = require('http');
var net = require('net');
function onRequest(req, res) {
// Does enough to render a page and javascript
}
http.createServer(onRequest).listen(4444);
var socket = new net.Socket();
socket.connect(4444, "localhost", function(){
console.log("Socket Connected");
});
socket.on("message", function(message){
console.log(message);
});
클라이언트 코드 :
var WebSocket = window.WebSocket || window.MozWebSocket;
var connection = new WebSocket('ws://localhost:4444');
connection.onopen = function() {
// Never runs
alert("This never runs :(")
}
connection.onerror = function(error) {
// Always runs here
console.log(error)
}
나는 소켓 서버의 로그 문에서 연결하지만 파이어 폭스가 소켓에 연결할 수있는 출력을 얻을.
Chrome에서는 오류가 없지만 "onopen"은 절대로 실행되지 않습니다. connection.send ("message")를 사용하면 서버에 아무것도 보내지 않고 false를 반환합니다.
그러나 Chrome이 작동하지 않는 이유는 무엇입니까 (오류 메시지는 표시되지 않지만 보낼 수 없음). 웹 소켓 (Firefox도 마찬가지입니다)을 지원한다고 가정합니다. Firefox는 웹 소켓을 가지고 있지만 연결할 수 없으며 Chrome에는 웹 소켓이 있지만 아무 것도 보내지 않았습니다. – user654628
브라우저는 WebSocket 서버로 간주되는 것으로 연결하려고 할 때 동작 방식이 다를 수 있지만 실제로는 다릅니다. 구현 의존적입니다. 예를 들어 모든 브라우저에 잘못된 HTML을 렌더링하는 고유 한 방식이있을 때와 같습니다. 구현에 따른 오류 복구는 동일한 브라우저 버전간에 다를 수 있습니다. – ebohlman
나는 그것을 알지 못했다. 소켓을 사용할 수없는 것 같아요. 왜냐하면 내가 사용하고있는 호스팅 (appfog)이 소켓을 지원하지 않는다는 것을 알았 기 때문입니다. 이전 REST API 서비스를 가져오고 게시하는 것으로 돌아가 보겠습니다. 당신의 도움을 주셔서 감사합니다. – user654628