【问题标题】:Strange node js/socket io crash?奇怪的节点 js/socket io 崩溃?
【发布时间】:2012-07-11 19:03:53
【问题描述】:

我有一个游戏,它的服务器在节点 js 上运行,使用套接字 io 和 mysql 来存储用户数据。问题是我的服务器已经崩溃了两次,它给我的只是以下内容:

[36m[game.js][0m [31m[0m
[36m[game.js][0m [31m/root/node_modules/socket.io/lib/transports/jsonp-polling.js:88[0m
[36m[game.js][0m [31mthis.response.writeHead(200, {[0m
[36m[game.js][0m [31m[0m
[36m[game.js][0m [31m[0m
[36m[game.js][0m [31m[0m
[36m[game.js][0m [31m[0m
[36m[game.js][0m [31m[0m
[36m[game.js][0m [31m[0m
[36m[game.js][0m [31m[0m
[36m[game.js][0m [31m[0m
[36m[game.js][0m [31m[0m
[36m[game.js][0m [31m[0m
[36m[game.js][0m [31m[0m
[36m[game.js][0m [31m[0m
[36m[game.js][0m [31m[0m
[36m[game.js][0m [31m[0m
[36m[game.js][0m [31m[0m
[36m[game.js][0m [31m[0m
[36m[game.js][0m [31m^[0m
[36m[game.js][0m [31m[0m
[36m[game.js][0m [31mTypeError: Cannot call method 'writeHead' of undefined
at JSONPPolling.doWrite (/root/node_modules/socket.io/lib/transports/jsonp-polling.js:88:17)
at JSONPPolling.write (/root/node_modules/socket.io/lib/transports/http-polling.js:132:8)
at JSONPPolling.packet (/root/node_modules/socket.io/lib/transport.js:515:15)
at JSONPPolling.error (/root/node_modules/socket.io/lib/transport.js:498:8)
at JSONPPolling.onData (/root/node_modules/socket.io/lib/transports/jsonp-polling.js:69:10)
at IncomingMessage.<anonymous> (/root/node_modules/socket.io/lib/transports/http.js:65:12)
at IncomingMessage.emit (events.js:64:17)
at HTTPParser.parserOnMessageComplete [as onMessageComplete] (http.js:127:21)
at Socket.ondata (http.js:1468:22)
at TCP.onread (net.js:374:27)[0m

Socket io 的响应头似乎有问题,但我该如何解决这个问题?而且我还没有尝试过任何东西(因为我真的不知道从哪里开始)

【问题讨论】:

    标签: javascript node.js socket.io


    【解决方案1】:

    我修复了它,这是 socket.io 中 jsonpolling 的一个错误,只需使用以下命令禁用它:

    socket.set('transports', [ 'websocket', 'htmlfile', 'xhr-polling' ])
    

    现在可以了。耶!

    【讨论】:

    • 你在哪个文件中添加了这一行?
    • 在我服务器的 js 文件的开头(当然是在需要 socketio 之后)io.configure( function(){ io.set('transports', ['websocket', 'htmlfile', 'xhr-polling']); });(是的,现在是 io.set,我认为 socket.set 不再起作用了)
    猜你喜欢
    • 2018-11-13
    • 2020-04-28
    • 2015-03-06
    • 2013-11-16
    • 2019-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多