如何断开与socketio4net的连接

时间:2014-07-23 02:17:15

标签: c# node.js socket.io socketio4net websocket4net

我有一个从c#client连接到node.js服务器的应用程序 在c#客户端我正在使用socketio4net和websocket4net 在服务器我使用nodejs和socket.io

当我关闭程序(c#)时,断开事件未发送到服务器。 所以我收到了错误:

套接字错误错误:在errnoExeption中读取ECONNRESET(net.js:558:19)

但如果我在关闭浏览器时使用socket.io client(javascript)而不是c#,那么一切都运行良好 这是我的代码:

server.js:

var io= require('socket.io').listen(3000);
io.on('connection', function (socket) {  
    socket.on('disconnect', function () {
    // handle here
    })
})

c#c​​lient:

client = new Client("http://127.0.0.1:3000/");
socket = client.Connect();

javascript客户端:

io.connect("127.0.0.1:3000");

任何人都可以帮助我吗?非常感谢

1 个答案:

答案 0 :(得分:0)

这显然是一个老问题,但我昨天确实遇到了这个问题所以我不妨发布它。解决方法是为程序的onClose创建一个事件并调用socket.Close()。

对我来说,我在我的xaml中使用WPF:

  

< Window x:Class =" Example.MainWindow" ...结束=" Window_Closing">

在代码背后:

  

private void Window_Closing(object sender,CancelEventArgs e)   {      socket.Close();   }