socket.io和node.js 400 Bad Request

Sre*_*ith 5 node.js socket.io-1.0

我有这个错误请求.

在此输入图像描述

红色请求获取错误 - 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);
    });




  });
Run Code Online (Sandbox Code Playgroud)

在客户端代码中

<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>
Run Code Online (Sandbox Code Playgroud)

请帮忙

Rav*_*avi 1

尝试将完整 URL 指定为

<script src='http://localhost:3000/socket.io/socket.io.js'>
Run Code Online (Sandbox Code Playgroud)

并在socket变量中

= io.connect('http://localhost:3000/')
Run Code Online (Sandbox Code Playgroud)

  • 为什么要这样解决呢? (9认同)