2013-08-21 21 views
0

我試圖創建一個iOS應用程序,通過UDP/3G網絡連續發送數據。 我有一個問題,當我10秒鐘後像啓動我的應用程序通過3G網絡我得到這個消息:UDP sendto()沒有可用的緩衝空間

sendto() : No buffer space available 

這不是什麼大不了的事,因爲我的應用程序仍然運作良好,但是當我退出應用程序,我想我的緩衝區保持完整,因爲我不能再使用3G了(我必須等待一段時間或重新啓動我的手機)

有沒有辦法在我退出我的應用程序之前刷新此緩衝區?

回答

0

聽起來好像您正在達到出站帶寬限制。如果您的應用程序在使用過程中持續這樣做,是不是會讓用戶運行起來非常昂貴?我猜想,大多數移動用戶正在使用某種計量方案來支付傳輸的數據。

我猜想在退出之前通常關閉套接字應該首先刷新它,因爲您已經請求數據發送,但有時UDP套接字不會盡力傳遞數據(因爲它們是「有損」),也許這也是你的情況。

+0

這是一個流媒體應用程序,所以是它需要大量的帶寬。但越來越多的人每個月都會喜歡3Go的數據 - 這是70多小時的視頻質量差。事實上,在關閉我的應用程序之前,我稱之爲關閉(sock),但沒有取得太大成功 – HaneTV

相關問題