c# - 在这个无限 while 循环中应该有 2 个 break 语句

标签 c#

这是 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/

相关文章:

C# EPPlus 从 Excel 工作表中删除行

c# - 安全关闭线程

c# - 服务器未返回状态代码为 400 的 JSON (.net)

c# - 算术溢出问题

c# - 如何将 DataGridViewComboBoxCell 转换为 DataGridViewTextBoxCell

c# - IEnumerable 扩展

c# - ShutdownBlockReasonCreate - 创建在注销/关机期间显示的多个原因

c# - 编辑 xml 文件并保留空格和制表符

c# - 如何防止 session 超时

c# - 每次升级从我的 dotNet 应用程序使用的 COM 库时,我是否需要重建和重新部署?