0

我正在尝试创建一个 iOS 应用程序,通过 wifi/3G 网络通过 UDP 连续发送数据。当我在大约 10 秒后通过 3G 网络启动我的应用程序时遇到问题,我收到以下消息:

sendto() : No buffer space available

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

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

4

1 回答 1

0

听起来好像您正在达到出站带宽限制。如果您的应用程序在使用时连续执行此操作,那么用户运行的成本是否会变得非常昂贵?我猜,大多数移动用户都采用某种计量计划,他们为传输的数据付费。

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

于 2013-08-21T11:15:55.670 回答