【发布时间】:2012-04-07 00:20:07
【问题描述】:
我有一个带有 while(true) 的线程来维持我与客户端的连接。在里面我有 if 和 bool。当我单击按钮时,它设置为“true”并开始文件传输(所有指令都在 if)。
我的问题是,我如何在没有 while 的情况下保持线程中的连接,或者当我的客户端断开连接时我应该如何退出那个“while”。
public void SayHi()
{
try
{
while (true)//for maintain connection
{
if(form1.transfer)
{
NetworkStream networkStream = clientSocket.GetStream();
CardNumber++;
form1.SendQuestion(clientSocket, CardNumber, Convert.ToInt32(clNo));
form1.transfer = false;
Thread AnswerThread = new Thread(WaitForAnswer);
AnswerThread.IsBackground = true;
AnswerThread.Start();
}
}
}
【问题讨论】:
-
我认为您的
while实际上并没有为维护连接做任何事情。 -
'while' 推送线程等待按钮点击
-
好的,但这并不意味着它会保持连接。您也可以对事件中的按钮单击做出反应。
标签: c# .net multithreading