当前位置:编程学习 > C#/ASP.NET >>

socket异步通信时,程序异常退出的问题~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

我现在写了一个异步通信的socket通信,正常退出,监听也停止,是没有问题的

问题是:如果程序异常退出,没有关闭掉监听程序,那程序也会在后台继续监听处理
当我再次启动程序,启动监听的,就会在ServerListen.Bind(localEP);这个地方报错

有没有方法判断监听是否存在,或者是强制去掉以前的监听,从新开始 --------------------编程问答-------------------- 那是因为你资源没有正确释放导致的,但是理论说进程退出了,socket,OS会帮你Close的。 --------------------编程问答-------------------- 程序写的有问题,异常退出时没处理好,找找原因,看异常时候执行了哪些操作,改改 --------------------编程问答-------------------- 我正常退出时,在closing正确释放资源了,但是程序如果被强制退出(比如从任务管理器直接结束进程)
这是我没办法控制的,这样资源会释放吗? --------------------编程问答-------------------- 这种不会,进程没有了,会保障你的socket被释放 --------------------编程问答--------------------
引用 4 楼 whslovexyp 的回复:
这种不会,进程没有了,会保障你的socket被释放


呵呵,那就是这种情况不存在啦,看来我担心的情况不存在了,谢谢楼上几位 --------------------编程问答-------------------- 不知道还有没有别的意见哦?………… --------------------编程问答-------------------- 但是有个问题哦,如果我在正常退出的情况下,没有释放资源,然后退出程序了,为什么windows不自动给我释放掉呢??? --------------------编程问答-------------------- 窗体close 事件里面 dispose socket对象 试试

或者用application。exit 试试
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,