2012-01-07 231 views
1

我手动应用此补丁,现在一切正常。等待上游来解决这个 https://github.com/LearnBoost/socket.io-client/pull/361/files“Error:write EPIPE”with node.js上的Socket.io


我只是想跟随的例子给出,并试图得到这个工作。

Mockserver.js:

var io = require('socket.io').listen(8000); 

io.sockets.on('connection', function(client) { 
    console.log('+ new client'); 
    client.on('disconnect', function() { 
     console.log('- lost a client'); 
    }); 
}); 

Mockclient.js:

var io = require('socket.io-client'); 
var socket = new io.connect('localhost', { port: 8000 }); 

socket.on('connect', function() { 
    console.log('connected'); 
}); 

socket.on('message', function(data) { 
    console.log(data); 
}); 

我然后在另一个终端

info - socket.io started 
    debug - client authorized 
    info - handshake authorized 14797776461130411158 
    debug - setting request GET /socket.io/1/websocket/14797776461130411158 
    debug - set heartbeat interval for client 14797776461130411158 
    debug - client authorized for 
    debug - websocket writing 1:: 
+ new client 
    debug - set close timeout for client 14797776461130411158 
    ***************************** error occurs here **************** 
    info - socket error Error: write EPIPE 
    at errnoException (net.js:632:11) 
    at Object.afterWrite [as oncomplete] (net.js:470:18) 
    **************************************************************** 
    debug - setting request GET /socket.io/1/xhr-polling/14797776461130411158?t=1325912082073 
    debug - setting poll timeout 
    debug - discarding transport 
    debug - cleared close timeout for client 14797776461130411158 
    debug - cleared heartbeat interval for client 14797776461130411158 
    debug - clearing poll timeout 
    info - transport end 
    debug- set close timeout for client 14797776461130411158 
    debug - cleared close timeout for client 14797776461130411158 
运行这些一对与节点Mockserver.js和节点Mockclient.js

此时我停止了Mockclient.js

- lost a client 
    debug - discarding transport 

为 “节点Mockclient.js” 唯一的输出是

The "sys" module is now called "util". It should have a similar interface. 

是什么造成插座异常?我可能错过了一些非常明显的东西。另外,其他人可以尝试我的代码来查看他们机器上的错误吗? 。里面socket.on代码(“连接” ...是不是触发要么我完全不知道为什么

回答

3
+0

补丁后,我得到了以下错误:模块。 js:332抛出新的错误(“无法找到模块'”+ request +“'”);^ 错误:无法找到模块'ws'有什么想法? – 2012-02-18 11:38:11

+2

@MartinKapfhammer您可能想要做一个'npm install -g ws' – 2012-02-20 20:13:20

+1

顺便说一句,这对我工作,谢谢! – 2012-02-20 20:26:46