【发布时间】:2016-03-12 21:11:30
【问题描述】:
我正在设计一种通过 TCP 数据包发送的协议,该协议有时可以在 iOS 和 OSX 设备之间发送大型(视频)文件。我有三个问题:
1) 每个 TCP 数据包的最大尺寸是多少才能获得良好的性能?即:接近65535并让TCP分解数据更好,还是尝试保持在某个阈值以下。如果是后者,是什么?
2) 从文件中读取数据缓冲区并通过 TCP 套接字发送的最低开销方式是什么?与 Cocoa 中的常见情况一样,有多种方法: NSInputStream - NSFileHandle - POSIX 文件句柄
3) 将从 TCP 套接字接收的数据附加到文件的最低开销方式是什么?我们有: NSOutputStream - NSFileHandle - POSIX 文件句柄
我正在使用 GCDAsyncSocket 作为套接字。
谢谢!
【问题讨论】:
标签: cocoa tcp nsinputstream nsfilehandle nsoutputstream