سلام دوستان ، یه برنامه با نود و socket.io نوشتم ، این برنامه روی لوکال هاست کار میکنه و مشکلی نداره ولی وقتی میره روی هاست این ارور رو میده :
WebSocket connection to 'ws://***.ir/socket.io/?EIO=۳&transport=websocket&sid=sq-_۰p۴LG۹۲a۴PffAADl' failed: Error during WebSocket handshake: Unexpected response code: ۴۰۴
چند تا نکته : اول اینکه طبق حرف پشتیبانی هاست از سوکت پشتیبانی میکنه ، بعد اینکه پورتی که سرور روشه بازه برای استفاده و یه بار دیگه میگم که روی لوکال هاست مشکلی نداره .
سرور :
const app = require('express')();
const server = require('http').createServer(app);
const io = require('socket.io')(server);
app.get('/',function(req,res){
res.sendFile(__dirname+'/views/index.html');
})
io.on('connection',function(socket){
console.log('user connected');
});
server.listen(۳۰۰۰);
کاربر :
<html>
<head>
<script src="/socket.io/socket.io.js"></script>
<script>
const socket = io.connect('http://***.ir');
socket.on('connect', function () {
console.log('connect')
});
socket.on('disconnect',function(){
console.log('disconnect')
})
</script>
</head>
</html>
اول روی heroku تست کنید. تا مطمئن شید.
دوم پروتکل سوکت ws هست نه http. کافیه فقط بنویسی
const socket = io.connect();
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟