如何检查Socket类是否已关闭? 以决定是否Close方法?如果已经关闭,调用close会出错谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 try:if(Socket1.Connected) Socket.Close(); 这个问题很好,我当时在这里郁闷了很久!Socket失效有很多种,楼上给的Connected属性得到的是“最近一次”的Socket运行状态,也就是说是一个历史信息。要真正的判出Socket可用,这是不够的。采用socket.Send()的方法发送一个大小为0的数据是可以判出来的,非常有用。具体请参见MSDN文档祝你好运 心跳包是用于非正常关闭连接等情况的我这里要求很低,主要只是为了防止多次调用close方法有没有简单一些的方法?又或,close调用失败能否抛出异常,以便捕捉到,而不致使程序崩溃?下列代码还是会导致程序直接崩溃掉: /***************************************************** * 安全关闭连接 *****************************************************/ private void myClose(Socket mySocket) { try { mySocket.Close(); } catch (Exception ex) { textBox1.Text += ex.Message.ToString() + "\r\n"; } } 那就 try try 好了,呵呵,什么问题都不用想了 秒大刀说的的确没错。但我现在想解决这个问题:“如何捕获 close的异常?” 进程间共享DLL数据 如果把一个连接信息用XML保存, TabControl控件禁用TabPage的问题 MSIL和和可执行代码的区别? 问一个超菜的问题,但是我一直不知道! c#如何与非托管c++代码互通 求教,GDI+如何绘制下面的图案 文本文件生成的问题 serv-u 和linux系统的服务器在传送用户名时有什么不同? 发200分,过过瘾,顺便祝贺timmy3310升星,向timmy3310学习~~~~~~~~ 刚接触类,遇到一个比较肉的问题,请教大家 如何屏蔽webbrowser的html被修改后自动弹出的保存对话框!
Socket.Close();
采用socket.Send()的方法发送一个大小为0的数据是可以判出来的,非常有用。具体请参见MSDN文档祝你好运
我这里要求很低,主要只是为了防止多次调用close方法
有没有简单一些的方法?
又或,close调用失败能否抛出异常,以便捕捉到,而不致使程序崩溃?
下列代码还是会导致程序直接崩溃掉:
/*****************************************************
* 安全关闭连接
*****************************************************/
private void myClose(Socket mySocket)
{
try
{
mySocket.Close();
}
catch (Exception ex)
{
textBox1.Text += ex.Message.ToString() + "\r\n";
}
}