A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 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.            }      
复制代码

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

1 个回复

倒序浏览
首先你自己找一下你的代码有没有错,我发现你第16行代码有错。

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马