我在服务器和客户端之间建立了一对一的连接。服务器正在流式传输实时音频/视频数据。
我的问题可能听起来很奇怪,但我应该使用多个端口/套接字还是只使用一个?使用多个端口更快还是使用单个端口提供更好的性能?我应该有一个端口只用于消息,一个用于视频,一个用于音频,还是将整个东西打包在一个端口中更简单?
我当前的一个问题是我需要首先发送当前帧的大小,因为大小(以字节为单位)可能会从一帧变为下一帧。我对网络相当陌生,但我还没有找到任何机制可以自动检测正在传输的特定对象的正确范围。例如,如果我发送一个 2934 字节长的数据包,我真的需要告诉接收者该数据包的大小吗?
我首先尝试在帧进入时尽可能快地打包帧,但我发现接收端有时无法获得适当的字节数。大多数时候,它的读取速度比我发送它们的速度要快,只得到部分帧。什么是尽快获得适当数量的字节的最佳方法?
还是我看起来太低了,并且有一个更高级别的类/框架用于处理对象传输?