”一個封鎖操作被對 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();
        
        }





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章