Socket.io与响应{“代码”:0,“消息”:“传输未知”}的错误的请求?

我试图运行socket.io,我得到了一堆这些:

http://domain.com:8080/socket.io/?EIO=2&transport=polling&t=1401421022966-0 400 (Bad Request) 

这是我得到的回应:

 {"code":0,"message":"Transport unknown"} 

我找不到任何理由。 我在某处读到,这可能会误解客户,但是这只是我可以得到的。

我有同样的问题,从0.9.x升级后,我的服务器configuration被设置为['websocket', 'jsonp-polling']在0.9有效,但客户端和服务器的默认configuration现在['polling', 'websocket'] 。 删除我的服务器configuration让我开始运行。

现在configuration文件logging在engine.io( https://github.com/automattic/engine.io )中,1.0中引入了新的传输层 – 特别是这一行:
transports ( String): transports to allow connections to (['polling', 'websocket'])

从0.9.x升级到1.xx后,我遇到了同样的问题缩短了长篇故事,我将传输设置为['websocket','polling'],然后错误…

当你configuration你的服务器使用specefic transpors你应该在客户端设置相同的configuration…

服务器

  var io = require('socket.io')(server, {'transports': ['websocket', 'polling']}); 

客户

  var io = io( serverUri, {'transports': ['websocket', 'polling']}); 

我遇到过同样的问题:

获取最新的socket-client.js并在客户端使用这些文件,为我解决了这个问题。

这发生在我自己服务socket.io.js脚本的时候。 我必须将node_modules/socket.io/node_modules/socket.io-client/socket.io.js复制到我正在提供的位置。

我的解决scheme是将node.js升级到最新版本(本文发布时为0.12.0)。 最初,node.js是作为一个bundle的一部分安装的。 一旦我卸载了来自该包的node.js(Aptana 3包,node.js稍微落后),并且从node.js的网站安装了最新版本,终于开始工作了。

我正在试验React.js。 我花了几个小时来debugging这些现象,我发现在socket.io中存在构build错误,特别是关于socket.io-client,它试图不成功地调用Visual Studio MSBuild。 可悲的是,这个错误也发生在node-gyp上。 显然,socket.io-client并不需要运行/服务我的例子,而且好像这些不幸的错误(将我引入无尽的森林)可以忽略。

(我注意到在安装webpack-dev-server,也就是Darwin只有一个模块(又名Mac OS X)的时候也注意到了一个模块,幸运的是它有一个可选的依赖关系,令人震惊的是:我知道苹果非常时髦,但是世界上大部分非Mac)。

Interesting Posts