0
我是一種新的C#,我需要創建一個客戶端服務器聊天。我們的教授給了我們以下的一些小提示讓我們走。但我不明白背景工作者的作用。c#中backgroundworker的用途是什麼?
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) // Receive data
{
while (client.Connected)
{
try
{
receive = streamreader.ReadLine();
this.textBox2.Invoke(new MethodInvoker(delegate() { textBox2.AppendText("You : " + receive + "\n"); }));
receive = "";
}
catch (Exception x)
{
MessageBox.Show(x.Message.ToString());
}
}
}
private void backgroundWorker2_DoWork(object sender, DoWorkEventArgs e) // Send data
{
if (client.Connected)
{
streamwriter.WriteLine(text_to_send);
this.textBox2.Invoke(new MethodInvoker(delegate() { textBox2.AppendText("Me : " + text_to_send + "\n"); }));
}
else
{
MessageBox.Show("Send failed!");
}
backgroundWorker2.CancelAsync();
}
那麼這對客戶端 - 服務器聊天應用程序有什麼幫助? –
最重要的是,你真的不想再使用BackgroundWorker(EAP的一部分)。你應該使用TAP。請參閱http://msdn.microsoft.com/en-us/library/jj152938%28v=vs.110%29.aspx –