C# 为什么我关闭窗体后,端口却还开着,程序还在进程中

我自己写了个程序,开了4个端口用socket方法接收UDP数据,每个端口接收数据都单独用一个线程,关闭窗体里我把线程都关闭了,但是socket却想不到什么好的办法关闭,这... 我自己写了个程序,开了4个端口用socket方法接收UDP数据,每个端口接收数据都单独用一个线程,关闭窗体里我把线程都关闭了,但是socket却想不到什么好的办法关闭,这样导致窗体关闭后程序还在运行,有没有什么办法将活动的Socket都关闭呢
我是在接收数据的线程中建的socket,
While(true)
{
socket1.receivefrom(......)
}
因为要一直接收数据,在这里不好关闭socket,
我将socket1.close()设在form.closing()事件里,但在这里却关闭不了socket,挺烦人的
展开
 我来答
blueberg82475
2010-06-22 · TA获得超过1667个赞
知道小有建树答主
回答量:323
采纳率:0%
帮助的人:201万
展开全部
Environment.Exit(0);
先把资源释放,然后关闭
这个基本上能解决大多数关闭问题

我的方法你用了吗?你用下吧
肯定能关闭的
yiweigwz
2010-06-21 · TA获得超过244个赞
知道小有建树答主
回答量:110
采纳率:0%
帮助的人:44.4万
展开全部
this.Owner.Close(); //这个可有可无,可以把获取当前界面的所有界面都关闭
this.Close();
Application.Exit();

差不多下面2个就可以了吧,一般只要全部窗口和线程都关闭了,程序就不会运行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿贺dw
2010-06-21 · TA获得超过612个赞
知道小有建树答主
回答量:1584
采纳率:99%
帮助的人:301万
展开全部
关闭的方法写的不对。

Application.Exit();

这样就可以了。我也碰到之前跟你类似的问题。这样就解决了

参考资料: http://www.yzyxmm.com

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
depluin
2010-06-21 · TA获得超过3179个赞
知道大有可为答主
回答量:3378
采纳率:75%
帮助的人:2370万
展开全部
窗体关闭的时候,设定进程也关闭啊
System.Windows.Forms.Application.Exit();
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风之小A
2010-06-21 · TA获得超过791个赞
知道小有建树答主
回答量:662
采纳率:100%
帮助的人:520万
展开全部
先关闭socket 再关闭线程 再退出程序。谨记这三个顺序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式