首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止许多未关闭的Silverlight套接字连接的堆栈溢出

防止许多未关闭的Silverlight套接字连接的堆栈溢出
EN

Stack Overflow用户
提问于 2009-09-25 12:10:27
回答 1查看 188关注 0票数 1

我在网上搜索了我的问题的解决方案,但直到现在还没有结果。

我用一款Silverlight应用程序、一款SocketServer和一款SocketClient (其中有一款silverlight应用程序)做了测试。

在调试模式下,当两个应用程序都在运行时,当我关闭浏览器窗口时,我确实很高兴看到服务器上触发了一个事件,套接字连接被自动关闭。

大谜团开始了。这到底是怎么发生的呢?

如果按下电源按钮来关闭客户端计算机呢?

我的事件是否仍然会被触发,或者我将在服务器上导致许多未关闭的套接字连接的堆栈溢出?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-10-11 12:56:24

在服务器上,您真的应该轮询套接字连接,以查看它们是否仍然有效。发送“你还活着吗”的信息。

通常,一旦套接字连接丢失,向套接字下发数据将导致它崩溃并出现异常。

不幸的是,计算机通常无法检测到某个套接字是否已失去链接,除非您尝试对其执行某些操作。它知道的唯一时间是客户端(或服务器)何时发送“关闭连接”命令(这通常在.NET中通过Socket.Close()方法完成)。

套接字就是这样的痛苦。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1476957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档