我正在为希望允许用户之间进行实时(最小延迟,最大 50 毫秒)对话(一种 Teamspeak)的客户设计一个 iOS 应用程序。延迟一定要低,因为音频也可以是现场音乐,用乐器演奏,所以所有用户都需要同步。我需要一个服务器,它将向每个客户端请求录音并发送给其他人(并让他们同时听到相同的声音)。HTTP 易于管理/实现且易于扩展,但性能非常低,因为平均 HTTP 请求需要 > 50 毫秒...(使用中级硬件),所以我在考虑 TCP/UDP 连接在客户端之间保持打开状态和服务器。但我有一些问题:
- 如果我用 Python 开发服务器(例如使用 TwistedMatrix),它的性能如何?
- 我不能用 C++ 开发服务器,因为它很难管理(可扩展)和开发。
- 有人使用 Nodejs(易于扩展)来管理 TCP/UDP 连接吗?
- 如果我使用 HTTP,Keep-Alive 是否足够快?因为通常执行 HTTP 请求所需的时间大于 50 毫秒(因为打开-关闭连接很困难),我希望总过程少于那个时间。
- 服务器将在 Linux 机器上运行。
最后:你能建议我哪种类型的压缩?我认为 Ogg Vorbis 会很好,但如果有更好的(并且可以在 iOS 中使用),我愿意接受更改。
谢谢你,奥马尔。