鍍金池/ 問答/C#  Office/ C# 報錯:“由于系統(tǒng)緩沖區(qū)空間不足或隊列已滿,不能執(zhí)行套接字上的操作?!?/span>

C# 報錯:“由于系統(tǒng)緩沖區(qū)空間不足或隊列已滿,不能執(zhí)行套接字上的操作?!?/h1>

使用 C# 進行網(wǎng)絡編程,為什么以下這么簡單的代碼會報錯?

class Program {
    private static IPEndPoint point = new IPEndPoint(IPAddress.Parse("60.20.63.12"),11500);
    static void Main() {
        var client = new UdpClient(15921);
        var data = new byte[1];

        for (int i = 0; i < 100000; i++) {
            client.Send(data,1,point); // “由于系統(tǒng)緩沖區(qū)空間不足或隊列已滿,不能執(zhí)行套接字上的操作。”
        }

        Console.ReadLine();
    }
}

VS

當次數(shù)不多時,比如只循環(huán)10000次,不會報錯,這是為什么呢?

回答
編輯回答
毀了心

應該是服務器的socket句柄資源用盡了,最好檢查一下服務器配置。也就是之前發(fā)的請求所占的資源還沒來得及釋放第二次請求又到了,循環(huán)次數(shù)太多導致資源不夠用了

2017年2月7日 18:17