socket.io 和 node.js 400 错误请求

Posted

技术标签:

【中文标题】socket.io 和 node.js 400 错误请求【英文标题】:socket.io and node.js 400 Bad Request 【发布时间】:2014-11-07 09:44:52 【问题描述】:

我收到了这个错误请求。

红色的请求出现错误 - 400 错误请求,它需要超过 30 秒。错误后套接字工作正常,但需要更多时间来响应

在 app.js 中代码如下

 var app = express(),
      server = require('http').createServer(app); 
      //io = require('socket.io').listen(server);
      var sockets = require('socket.io')(
      'transports': ['websocket', 'flashsocket','htmlfile','xhr-polling','jsonp-polling']
      );
      var io = sockets.listen(server, resource: '/socket.io/','sync disconnect on unload':true );
io.sockets.on('connection', function(socket)
  socket.emit('server_emit');
  socket.on('search', function(cattype,pagNo,lang,film,iteamcat,starname)
    var query='ProductType':cattype,'Language':lang,'ProductCategory':iteamcat,'UsedBy':starname,'UsedIn':film,
    field=,
    options=;

    db.collection("Product").find(query,field,options).toArray(function(error, Product2)     
      socket.emit('result',Product2);
    );




  );

在客户端代码中

<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect();
        socket.on('server_emit', function()
                console.log("Server emitted to Browser")
        );

</script>

请帮忙

【问题讨论】:

连接网址在哪里? 对不起,我错过了这个问题 【参考方案1】:

尝试将完整的 URL 指定为

<script src='http://localhost:3000/socket.io/socket.io.js'>

socket var

= io.connect('http://localhost:3000/')

【讨论】:

为什么要修复它?

以上是关于socket.io 和 node.js 400 错误请求的主要内容,如果未能解决你的问题,请参考以下文章

带有 ALB 和 Socket.IO 的 AWS ElasticBeanstalk 上的 HTTP 400 错误

生产中的 Socket.io 返回 400 Bad Request 错误

Socket.io 1.0.6 的随机错误请求 400 错误

Node.js 和 socket.io 的混淆

node.js、socket.io 和 SSL

Node.js、多线程和 Socket.io