//Socket
if (s != null)
{
if(s.Connected)
s.Shutdown(SocketShutdown.Both);
s.Close();
}
这么写有什么问题么? 为什么每次关闭程序就卡住不动了.win7 + .net2.0(其他操作系统没有问题.)
解决方案 »
- 请教Model中怎么调用另一个Model 代码在里面
- 怎么设置DataGridView 的列宽
- C#如何获取局域网内其它电脑的系统信息
- p2p 问题,有一不明之处,详情请进。
- C#代码问题
- 我的屏幕保护程序怎样设置里可以预览什么的?听说要接受系统传递的参数,用什么代码?
- Offline Application Block
- 关于IsPostBack
- 初学者请教:1.如何设置Label透明背景,2.如何让Label在Form中不断变换位置。请给出代码实例,谢谢!
- 请问:哪里有Microsoft Mobile Explorer最新版下?
- C# 连接数据库 登录窗体,的代码,主要就是查询 用户名和密码的语句
- c#字符串中查找汉字的个数
上面意识? s.Shutdown(SocketShutdown.Both);
起的是 禁止通行 类似的方法还有 DisConnect 如果直接断开 直接 调用 Close 就好了
就算放到另一个线程去关闭Socket 程序(窗体)也会停止响应. 其他线程没有问题依然正常运行着.
{
if(s.Connected) //当它返回 false 时,表明 Socket 要么从未连接,要么已断开连接。
s.Shutdown(SocketShutdown.Both);
else
s.Close();
}
就算你if else 也不行. 总会在Shutdown 或 Close的时候卡住.是或 不确定会在哪个上卡住.