黑马程序员技术交流社区

标题: 一个封锁操作被对 WSACancelBlockingCall 的调用中断 [打印本页]

作者: guo329838627    时间: 2013-9-23 17:43
标题: 一个封锁操作被对 WSACancelBlockingCall 的调用中断
本帖最后由 guo329838627 于 2013-9-27 14:52 编辑

    每当关闭socket [socket.close();]时,就提示异常“一个封锁操作被对 WSACancelBlockingCall 的调用中断!”请问各位大侠这是神马原因?
    源代码:    //创建一个SOcket
  1. Socket socket=null;
  2. Thread thread = null;
  3.   private void button1_Click(object sender, EventArgs e)
  4.         {
  5.             try
  6.             {
  7.              socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
  8.             IPAddress ipAddress = IPAddress.Parse(ip.Text.Trim());
  9.             IPEndPoint ipEndPoint = new IPEndPoint(ipAddress,int.Parse(duankou.Text));
  10.             socket.Bind(ipEndPoint);
  11.             socket.Listen(10);
  12.             thread = new Thread(Lianjie);
  13.             thread.IsBackground = true;
  14.             thread.Start();
  15.             }
  16.         、 catch (Exception ex)
  17.             {
  18.              MessageBox.Show(ex.Message);
  19.             }
  20.         }
复制代码
//监听客户端的方法
  1.     public void Lianjie()
  2.         {
  3.             while (true)
  4.             {
  5.                 try
  6.                 {
  7.                     Socket socketconnection = socket.Accept();
  8.                 }
  9.                 catch (Exception ex)
  10.                 {
  11.                    MessageBox.Show(ex.Message);
  12.                     break;
  13.                 }
  14.             }
  15.            }      
复制代码

作者: ☜⑦圊⑥慾➹沼    时间: 2013-9-27 13:45
首先你自己找一下你的代码有没有错,我发现你第16行代码有错。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2