麦克雷

标题: C#task中程序挂起等待中,如果要取消task,要怎么实现 [打印本页]

作者: admin    时间: 2019-6-15 07:31
标题: C#task中程序挂起等待中,如果要取消task,要怎么实现
比如这名Socket clientsocket = Servertsocket.Accept();当服务器绑定ip,端口后等待客户端连接,如果此时我要结束任务要怎么实现???
Task taskaccept = new Task(() =>
            {
                while (true)
                {
                    Socket clientsocket = Servertsocket.Accept();
                    IPEndPoint endPoint = clientsocket.RemoteEndPoint as IPEndPoint;
                    if (Form1.frm1.textBox2.InvokeRequired)
                    {
                        Form1.frm1.textBox2.Invoke(action = () =>
                        {
                            Form1.frm1.textBox2.Text += endPoint.Address + "[" + endPoint.Port + "]连接成功" + "\r\n";
                        });
                    }
                    else
                    {
                        Form1.frm1.textBox2.Text += endPoint.Address + "[" + endPoint.Port + "]连接成功" + "\r\n";
                    }
                }
            }, cts1.Token);         
        }
Task taskaccept = new Task(() =>
            {
                while (true)
                {
                    Socket clientsocket = Servertsocket.Accept();
                    IPEndPoint endPoint = clientsocket.RemoteEndPoint as IPEndPoint;
                    if (Form1.frm1.textBox2.InvokeRequired)
                    {
                        Form1.frm1.textBox2.Invoke(action = () =>
                        {
                            Form1.frm1.textBox2.Text += endPoint.Address + "[" + endPoint.Port + "]连接成功" + "\r\n";
                        });
                    }
                    else
                    {
                        Form1.frm1.textBox2.Text += endPoint.Address + "[" + endPoint.Port + "]连接成功" + "\r\n";
                    }
                }
            }, cts1.Token);         
        }
作者: admin    时间: 2019-6-15 07:31
要实现你想实现的功能。你需要完成下面3点
1、2点可以通过初始化Form来实现。3点可以通过委托实现
作者: admin    时间: 2019-6-15 07:32
cts1.Cancel()




欢迎光临 麦克雷 (https://mavom.cn/) Powered by Discuz! X3.5