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