![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
C# 为什么我关闭窗体后,端口却还开着,程序还在进程中
我自己写了个程序,开了4个端口用socket方法接收UDP数据,每个端口接收数据都单独用一个线程,关闭窗体里我把线程都关闭了,但是socket却想不到什么好的办法关闭,这...
我自己写了个程序,开了4个端口用socket方法接收UDP数据,每个端口接收数据都单独用一个线程,关闭窗体里我把线程都关闭了,但是socket却想不到什么好的办法关闭,这样导致窗体关闭后程序还在运行,有没有什么办法将活动的Socket都关闭呢
我是在接收数据的线程中建的socket,
While(true)
{
socket1.receivefrom(......)
}
因为要一直接收数据,在这里不好关闭socket,
我将socket1.close()设在form.closing()事件里,但在这里却关闭不了socket,挺烦人的 展开
我是在接收数据的线程中建的socket,
While(true)
{
socket1.receivefrom(......)
}
因为要一直接收数据,在这里不好关闭socket,
我将socket1.close()设在form.closing()事件里,但在这里却关闭不了socket,挺烦人的 展开
5个回答
展开全部
Environment.Exit(0);
先把资源释放,然后关闭
这个基本上能解决大多数关闭问题
我的方法你用了吗?你用下吧
肯定能关闭的
先把资源释放,然后关闭
这个基本上能解决大多数关闭问题
我的方法你用了吗?你用下吧
肯定能关闭的
展开全部
this.Owner.Close(); //这个可有可无,可以把获取当前界面的所有界面都关闭
this.Close();
Application.Exit();
差不多下面2个就可以了吧,一般只要全部窗口和线程都关闭了,程序就不会运行了
this.Close();
Application.Exit();
差不多下面2个就可以了吧,一般只要全部窗口和线程都关闭了,程序就不会运行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关闭的方法写的不对。
Application.Exit();
这样就可以了。我也碰到之前跟你类似的问题。这样就解决了
Application.Exit();
这样就可以了。我也碰到之前跟你类似的问题。这样就解决了
参考资料: http://www.yzyxmm.com
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
窗体关闭的时候,设定进程也关闭啊
System.Windows.Forms.Application.Exit();
System.Windows.Forms.Application.Exit();
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先关闭socket 再关闭线程 再退出程序。谨记这三个顺序。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询