2013-08-21 22 views
0

我试图创建一个iOS应用程序,通过UDP/3G网络连续发送数据。 我有一个问题,当我10秒钟后像启动我的应用程序通过3G网络我得到这个消息:UDP sendto()没有可用的缓冲空间

sendto() : No buffer space available 

这不是什么大不了的事,因为我的应用程序仍然运作良好,但是当我退出应用程序,我想我的缓冲区保持完整,因为我不能再使用3G了(我必须等待一段时间或重新启动我的手机)

有没有办法在我退出我的应用程序之前刷新此缓冲区?

回答

0

听起来好像您正在达到出站带宽限制。如果您的应用程序在使用过程中持续这样做,是不是会让用户运行起来非常昂贵?我猜想,大多数移动用户正在使用某种计量方案来支付传输的数据。

我猜想在退出之前通常关闭套接字应该首先刷新它,因为您已经请求数据发送,但有时UDP套接字不会尽力传递数据(因为它们是“有损”),也许这也是你的情况。

+0

这是一个流媒体应用程序,所以是它需要大量的带宽。但越来越多的人每个月都会喜欢3Go的数据 - 这是70多小时的视频质量差。事实上,在关闭我的应用程序之前,我称之为关闭(sock),但没有取得太大成功 – HaneTV

相关问题