首页 > 解决方案 > 在 ejs 和 nodejs 中发布 http://localhost:3000/socket.io/?EIO=3&transport=polling&t=NQUneY3 400 (Bad Request)

问题描述

我对这个 socket.io 很陌生。

我有代码,这是一个节点服务器代码:

var express = require("express");
var app = express();
var http = require("http").createServer(app);
var socketIO = require("socket.io")(http);
var socketID = "";

socketIO.on("connection", function (socket) {
  console.log("User is conneected ", socket.id);
  socketID = socket.id;
});

这是一个ejs文件的代码:

......

<script src="/public/js/socket.io.js"></script>

<script>
......
var socketIO = io("http://localhost:3000");
......
</script>
...... 

socket.io.js 文件在这里

我试过了,但没有任何效果。每当我刷新页面时都会弹出相同的错误。我对此很陌生,我真的很想尽快把它整理好!!

之后我已经有了一个监听功能socket.on

http.listen(3000, function () {
  console.log("Server has started running!!");
  .........................
.............
})

标签: javascriptnode.jssocket.ioejs

解决方案


下面的代码对我有用。

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

io.sockets.on('connection', function (socket) {
        console.log(socket);
})

server.listen(3000, function(){
    console.log('listening on *:3000');
});

<script src="/socket.io/socket.io.js" > </script>

<script>
    $(function () {
        var socket = io.connect();
    });
</script>

推荐阅读