解决方案 »

  1.   

    很正常啊,这有什么不对吗客户端正在发送或接收,对方断开了,还不报错,那不更有问题了你catch里怎么只指定了一种错误类型?
    至少还要再加个catch,捕捉其它错误类型,而不是有错误就直接挂 了
      

  2.   

    而且错误信息已经提示的很明显了
    新错误是IOException,而不是SocketException
      

  3.   

    不是已经提示的很明显了,是System.IO.IOException类型的异常
      

  4.   

    你是说我在这边再加个catch语句:
    if (flag)
                        {
                            Thread.Sleep(200);
                            lock (streamToServer)
                            {
                                bytesRead = streamToServer.Read(buffer, 0, buffer.Length);
                            }
                        }                }
                    catch (System.Net.Sockets.SocketException ex)
                    {                    MessageBox.Show(ex.ToString());                    // ignored
                    }
                    catch (System.IO.IOException)
                    {
                        MessageBox.Show("服务器已关闭");
                    }
    刚才试了一下,还是断在了刚才的那个位置
      

  5.   

    catch (System.IO.IOException ex1)
                    {
                        MessageBox.Show("服务器已关闭");
                    }
    只声明类型,不声明变量,不会报错?即使加了这个,你还应该在最后加上
    catch(Exception ex)//捕获所有类型的异常
      

  6.   

    没有扑捉到,断点在:
                                bytesRead = streamToServer.Read(buffer, 0, buffer.Length);
      

  7.   

    这个不是问题的关键,之前就试过你说的Exception,也是不行的,断点一直在那。
      

  8.   

    加上catch(Exception ex)也捕捉不到?
    看下VS设置里,是否设置了断点在未捕捉的异常,还是设置了断点在所有异常
      

  9.   

    目前是客户端和服务端一起跑是没有问题的,但是我手动关掉服务端,就出现以上错误了,try catch试过没效果,
      

  10.   

    调试->异常->
    看到底是否选择了"引发",还是只选择了"用户未处理的"如果选择了引发,那么即使异常已经处理,那么依然会停在出错的代码行.
    你在catch里设置断点,看出错之后,最终到底是否能走进catch里
      

  11.   

    你看,引发里一大堆挑没动过不代表设置的没有问题每个工程,这个选项都不一样的,并不是在VS里设置一次所有工程都跟着变也许是你copy过来的这个工程,当初人家就是这么设置的
      

  12.   

    你用的是什么版本的VS,能打开vs2012吗?我想把这两个程序给你看看,快烦死了
      

  13.   

    我这里有05,08,10,没安装12
    你把引发的那些挑都去掉试试呗或者像我说的,停了不要紧,看最终是否能走进catch里,还是按F5不往下走了
    如果能往下走,不影响你最终发布执行的
      

  14.   

    client.cs,行号157,try catch不到?
      

  15.   

    client.cs,行号157,try catch不到?确实没有try catch到
      

  16.   

    其实Client那端我是把Socket这个类又进行了一次简要的封装,没封装后我又编写了一遍,问题居然解决了