简体   繁体   English

无法在nodejs中连接socket.io

[英]Not able to connect socket.io in nodejs

Hi I am trying to setup a connection with socket.IO but not able to do so.嗨,我正在尝试与 socket.IO 建立连接,但无法这样做。 At present I am not getting any error but the connection is not taking place.Please find below the relevant details:目前我没有收到任何错误,但连接没有发生。请在下面找到相关详细信息:

app.js应用程序.js

const express = require('express');
require('./db/mongoose');
const functions = require("firebase-functions");
var bodyParser = require('body-parser');
const app = express();
const http = require('http').createServer(app);
var io = require('socket.io');
socket = io(http, {cors: {
  origin: "http://localhost",
  methods: ["GET", "POST"]
}
});
var cors = require("cors");
var cookieParser = require('cookie-parser');
var path = require('path');

app.use(cors()); 

const portCheck = process.env.PORT || 3001

socket.on('connection', function (socket) {
  console.log('connected to socket');
  socket.emit('greeting-from-server', {
      greeting: 'Hello Client'
  });
});


 app.listen(portCheck, ()=> {
            console.log('Server Listening to port:' + portCheck);
 })

Changes should done for your code as follows:应按如下方式对您的代码进行更改:

  1. Change app listen with server listen使用服务器监听更改应用程序监听
  2. wrap socket.on(//...) with io.on(//...)socket.on(//...) io.on(//...)
  3. replace this lines替换此行
const app = express();const http = 
require('http').createServer(app);

with

var server = require('http').Server(app);
var io = require('socket.io')(server);

After the changes code is like follows.修改后的代码如下。

const express = require('express');
require('./db/mongoose');
const functions = require("firebase-functions");
var bodyParser = require('body-parser');
const app = express();
var server = require('http').Server(app);
var io = require('socket.io')(server);
socket = io(http, {cors: {
  origin: "http://localhost",
  methods: ["GET", "POST"]
}
});
var cors = require("cors");
var cookieParser = require('cookie-parser');
var path = require('path');

app.use(cors()); 

const portCheck = process.env.PORT || 3001
server.listen(portCheck, ()=> {
            console.log('Server Listening to port:' + portCheck);
 })

io.on('connection', (socket)=> {

  socket.on('connection', function (socket) {
  console.log('connected to socket');
  socket.emit('greeting-from-server', {
      greeting: 'Hello Client'
       });
    });
});

follow more information through this link.通过此链接了解更多信息。 https://socket.io/get-started/chat . https://socket.io/get-started/chat

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM