这是 Microsoft 套接字教程中的示例 http://msdn.microsoft.com/en-us/library/6y0e13d3.aspx
我有点懵。第一个 while(true) 无限循环之后是第二个 4 行,但我们只使用了一个 break 语句。在第二个 while 循环中使用 break 应该继续第一个 while 循环......不是吗? http://msdn.microsoft.com/en-us/library/6y0e13d3.aspx
while (true) {
Console.WriteLine("Waiting for a connection...");
// Program is suspended while waiting for an incoming connection.
Socket handler = listener.Accept();
data = null;
// An incoming connection needs to be processed.
while (true) {
bytes = new byte[1024];
int bytesRec = handler.Receive(bytes);
data += Encoding.ASCII.GetString(bytes,0,bytesRec);
if (data.IndexOf("<EOF>") > -1) {
break;
}
}
}
最佳答案
你是对的。本例中的外层循环不应退出。这是为了不断寻找新的联系而设计的。服务器倾向于遵循这种基本模式。
关于c# - 在这个无限 while 循环中应该有 2 个 break 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15523384/