”一个封锁操作被对 WSACancelBlockingCall 的调用中断“。解决办法

问题描述:

为了防止界面卡死,在服务端我新开了一个进程来监听客户端的连接请求,在关闭的时候却却提示“一个封锁操作被对 WSACancelBlockingCall 的调用中断”。

如图


具体错误代码:        private void InitForm()
        {
            MyController = new ControllerManager(this);
  /创建一个新的进程,以防界面卡死
            new Thread(MyController.Load).Start();
        }

注:MyController.Load()里面:                Socket newClient = _tcpl.AcceptSocket();

就是这句话出错。

解决方式:为   new Thread(MyController.Load).Start();添加一个进程名,然后在窗口的关闭时间中Abort掉。


代码如下:Thread LoadThread=  new Thread(MyController.Load);//创建一个新的进程,以防界面卡死

        private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            LoadThread.Abort();
        
        }





posted @ 2012-02-02 14:04  陈哈哈  阅读(3408)  评论(0编辑  收藏  举报