Close只是通知底層socket關閉而已,並不一定保證底層的連結一定釋放了,所以你一下子建立那麼多連結肯定出問題備註Close 方法可關閉遠端主機連線,並釋放所有與 Socket 關聯的託管資源和非託管資源。關閉後,Connected 屬性將設定為 false。對於面向連線的協議,建議先呼叫 Shutdown,然後再呼叫 Close 方法。這可以確保在已連線的套接字關閉之前,已傳送和接收該套接字上的所有資料。如果需要在不首先呼叫 Shutdown 的情況下呼叫 Close,則可以將 DontLinger Socket 選項設定為 false,並指定一個非零的超時間隔,從而確保排隊等待輸出的資料得到傳送。這樣,Close 將會一直阻止到傳送完該資料或指定的時限超時為止。如果將 DontLinger 設定為 false,並且指定了一個非零的超時間隔,Close 將會釋放連線並自動放棄排隊等待輸出的資料。補充:那就沒辦法了,你只能限制你的連結數量,可能你的底層的負荷量達不到那麼大吧,不行你找其他的socket通訊類庫試試
Close只是通知底層socket關閉而已,並不一定保證底層的連結一定釋放了,所以你一下子建立那麼多連結肯定出問題備註Close 方法可關閉遠端主機連線,並釋放所有與 Socket 關聯的託管資源和非託管資源。關閉後,Connected 屬性將設定為 false。對於面向連線的協議,建議先呼叫 Shutdown,然後再呼叫 Close 方法。這可以確保在已連線的套接字關閉之前,已傳送和接收該套接字上的所有資料。如果需要在不首先呼叫 Shutdown 的情況下呼叫 Close,則可以將 DontLinger Socket 選項設定為 false,並指定一個非零的超時間隔,從而確保排隊等待輸出的資料得到傳送。這樣,Close 將會一直阻止到傳送完該資料或指定的時限超時為止。如果將 DontLinger 設定為 false,並且指定了一個非零的超時間隔,Close 將會釋放連線並自動放棄排隊等待輸出的資料。補充:那就沒辦法了,你只能限制你的連結數量,可能你的底層的負荷量達不到那麼大吧,不行你找其他的socket通訊類庫試試