저는 socket.io를 처음 사용 했으므로 localhost에서 올바르게 작동하는 다른 자습서에서 많은 예제를 얻을 수있었습니다. 이제는 내 웹 사이트에서 작동하도록 도움이 필요합니다. 나는 행운이없는 며칠 동안 지원 양식을 찾아 보았습니다. 어떤 도움을 주시면 감사하겠습니다. 여기까지 내가 한 것입니다 ...Socket.io는 localhost에서 작동하지만 웹 서버에서는 작동하지 않습니다.
FileZilla FTP 클라이언트를 사용하여 (내 로컬 호스트에서 작동하는) 코드를 내 웹 서버 (https://ifastnet.com/에 의해 호스팅 됨)로 내 보낸 후 동일한 "npm init"을 수행했습니다. "npm install express --save", "npm install socket.io --save", "node app.js"절차를 내 localhost에서 작동시킬 수있을 때 CMD에서 사용한 퍼티 SSH에 사용합니다.
나는 내 웹 사이트에 갈 때 나는 클라이언트 측에서
var socket = io.connect('http://31.22.4.6:1122');
를 사용할 때 브라우저 콘솔에서 (구글 크롬) "순 :: ERR_CONNECTION_RESET을"점점 계속. 내가
내 코드는 다음과 같습니다 행운과
var socket = io();
내가 해봤 많은 솔루션을 사용할 때
나는 브라우저 콘솔에서 "404 (찾을 수 없음)"얻을. 도움에 미리 감사드립니다.
서버
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen();
// server.listen(1122, "31.22.4.6");
app.get('/', function(req, res) {
res.sendfile(__dirname + '/client/index.html');
});
console.log("server started");
io.on('connection', function(socket) {
console.log("connection made");
socket.emit('news', {
hello: 'world'
});
socket.on('my other event', function(data) {
console.log(data);
});
});
클라이언트
<script src="https://cdn.socket.io/socket.io-1.4.5.js"></script>
<script>
// var socket = io.connect('http://localhost');
// var socket = io.connect('http://31.22.4.6:1122');
var socket = io();
// var socket = io.connect();
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
</script>
[이 지침] (http://kb.ifastnet.com/index.php?/article/AA-00416/52/Node.js/Using-Node.js-on-a)을 따라했다고 가정합니다. -premium-shared-hosting-account.html)? 이 경우, 클라이언트에서 기본 포트 (80)를 사용하십시오 :'var socket = io ('http://31.22.4.6')'(포트 80은 암시 적입니다). 그리고 서버의'server.listen (1122, "31.22.4.6")'의 주석 처리를 제거하십시오. – Xodrow
Xodrow 주석 주셔서 감사합니다. 그걸 시도했지만 브라우저의 콘솔에 "net :: ERR_CONNECTION_RESET"오류가 계속 표시됩니다. – DarkwallLKE