【问题标题】:Fail deploying socket io ws server on heroku Nodejs PHP project在heroku Nodejs PHP项目上部署socket io ws服务器失败
【发布时间】:2021-12-11 00:50:12
【问题描述】:

我将创建一个 ws 服务器用于我已经构建但无法正常工作的聊天。我花了几个小时寻找解决问题的方法,但一无所获。 Heroku 没有任何卷轴支持。我在这里寻求帮助。 所以节点 js ws 服务器和 php 后端。

这里的架构:

我的服务器代码在这里:

'use strict';
 
const express = require('express');
const socketIO = require('socket.io');
 
const PORT = process.env.PORT || 3000;
const INDEX = '/index2.php';
 
const server = express()
  .use((req, res) => res.sendFile(INDEX, { root: __dirname }))
  .listen(PORT, () => console.log(`Listening on ${PORT}`));
 
const io = socketIO(server);
 
io.on('connection', (socket) => {
  console.log('Client connected');
  socket.on('disconnect', () => console.log('Client disconnected'));
});
 
setInterval(() => io.emit('time', new Date().toTimeString()), 1000);

这是我关于套接字的客户部分:

        var socket = io("https://xamchat.herokuapp.com/", {withCredentials: true});

       

        if (socket.connected) {
            alert("connected")
            socket.emit("connection")
            socket.on('time', function(data) {
            console.log(data)
        });
        } else {
            alert("not connected")
        }

我在 js 控制台中收到此错误:

轮询-xhr.js:157 获取 https://herokuapp.com/socket.io/?EIO=4&transport=polling&t=NooXUGB404 (未找到)

我也试过做快递服务器,同样的错误...

【问题讨论】:

  • 你在本地环境下试过了吗?有效吗?
  • 是的,它起作用了....

标签: node.js express heroku websocket socket.io


【解决方案1】:

试试这个代码

const app = require('express')();
const http = require('http').Server(app);
const io = require('socket.io')(http);


const PORT = process.env.PORT || 3000;
const INDEX = '/index2.php';

app.use((req, res) => res.sendFile(INDEX, { root: __dirname }))

io.on('connection', (socket) => {
  console.log('Client connected');
  socket.on('disconnect', () => console.log('Client disconnected'));
});

http.listen(PORT, function() {
   console.log(`Listening on ${PORT}`);
   setInterval(() => io.emit('time', new Date().toTimeString()), 1000);
});

【讨论】:

猜你喜欢
  • 2019-07-07
  • 1970-01-01
  • 1970-01-01
  • 2018-04-18
  • 2018-07-09
  • 2019-02-16
  • 2015-05-17
  • 2022-01-24
  • 2016-02-20
相关资源
最近更新 更多