我有一个从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#client:
client = new Client("http://127.0.0.1:3000/");
socket = client.Connect();
javascript客户端:
io.connect("127.0.0.1:3000");
任何人都可以帮助我吗?非常感谢
答案 0 :(得分:0)
这显然是一个老问题,但我昨天确实遇到了这个问题所以我不妨发布它。解决方法是为程序的onClose创建一个事件并调用socket.Close()。
对我来说,我在我的xaml中使用WPF:
< Window x:Class =" Example.MainWindow" ...结束=" Window_Closing">
在代码背后:
private void Window_Closing(object sender,CancelEventArgs e) { socket.Close(); }