我有一個很大的1GB文件,我試圖發送到另一個節點。在發送者發送200個數據包(在發送完整文件之前)之後,代碼跳出。說「Sendto no send space available」。可能是什麼問題以及如何照顧它。通過UDP套接字發送的限制
除此之外,我們需要在此傳輸中獲得最大吞吐量。那麼我們應該使用哪種發送緩衝區大小來提高效率?
什麼是我們可以用來傳輸文件而沒有碎片的最大MTU?
感謝 日圖
謝謝你的答案。實際上,我們的項目指定使用UDP,然後使用一些額外的代碼來處理丟失的數據包。
現在我可以使用阻塞UDP套接字發送完整文件。
我正在emulab環境中運行整個設置,名爲deter。我將鏈路丟失設置爲0,但仍然有一些數據包丟失。這背後可能的原因是什麼?即使我在發送每個數據包之後添加延遲(假設接收方在緩衝區滿時丟棄數據包),仍然會丟失數據包。
需要更多細節。套接字是否無阻塞? –
我認爲TCP將是文件傳輸的更好選擇。你有使用UDP的理由嗎?如果是這樣,你有什麼樣的糾錯? – feathj