2010-12-17 144 views
9

我试图找出什么是在iOS上最“优化”的套接字缓冲区大小,当我用sysctl查询KIPC_MAXSOCKBUF时,它会返回一个4Mb的缓冲区大小,这在我看来很高...从我的经验当使用系统的“default_continuous_buffer_size”时,socket recv性能似乎更好(Unix人在这里讲话!),但是我不能在iOS上运行sysctl -a来获取该信息......并且它也不能通过用于sysctl的C接口或者它有不同的名字?)。iPhone的最大套接字缓冲区大小

是否有其他人测试过什么是iOS上性能最高的recv套接字缓冲区大小?

+0

从来没有测试性能可以找到,但我通常使用1024KB(1MB等等)。但是,这个答案不是很有帮助,我猜..:P – stackr 2011-01-24 14:07:46

回答

3

我认为它的1024 KB(1 MB),但我不确定。使用MAC OS的getsockopt(2),SO_SNDBUF和SO_RCVBUF是分别调整正常缓冲区大小的选项。 对于大容量连接,可能会增加缓冲区大小,或者可能会减少缓冲区大小以限制传入数据可能的积压。系统 对这些值进行绝对限制。

更多信息,请Mac OS X Manual Page For getsockopt(2)