首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Socket.io延迟问题

Socket.io延迟问题
EN

Stack Overflow用户
提问于 2017-09-16 12:11:57
回答 1查看 432关注 0票数 1

我已经创建了对讲机/对讲机,用户可以在其中进行单向通信。音频字节被实时广播。

我面临着网络延迟的问题。在本地网络中,它工作得很好,但在现场网络上,它却在下降。

以下是与此相关的信息。请提出优化延迟的正确方法。

以下是广泛转换字节的代码:

代码语言:javascript
运行
复制
socket.on('talk', function (data) {
    io.emit('listen', data);  
});

采样速率每秒: 44100赫兹 缓冲区大小: 1024

在移动侧,我的速度如下:

0.49 Mbps下载 0.88 Mbps上传

我的网速如下,这是服务器,我在这里承载了我的socket.io nodejs服务,从这里我从外部网络连接套接字:

EN

回答 1

Stack Overflow用户

发布于 2020-01-08 14:24:24

网络延迟是你无法影响的东西(除非你改变你的ISP,也就是说)。但是应用程序延迟在你的手中(这意味着你的应用程序编码/解码声音数据的速度有多快)。

  • 你提到了一个44100赫兹的采样率,这似乎太高的声音。减少它也会减少您发送的数据量。
  • 增加缓冲区大小(缓存)是另一种选择,因此您的应用程序可以在每个周期处理更长的数据块。这将增加延迟,但总体上将提供更稳定的通信。
  • 您可以考虑从TCP切换到UDP传输层协议,消除ACK数据包,从而提高吞吐量。如果您打算将您的应用程序用作实时语音通信工具,则丢失一些语音数据包(与传统的电路交换固定线路网络相比,它是分组交换网络(如Internet )不可避免的一部分),并且在会话继续进行时重新捕获它们是没有用的。
  • 说到不可避免的或不可避免的损失,您可以考虑压缩您的音频而不丢失质量(无损)。示例格式是: FLAC、ALAC和WAV。有损(有质量损失)格式(如MP3)甚至比以前好10-100倍,质量损失通常几乎不明显,这可能是一个可行的选择(想想看,您是否注意到过MP3上的质量损失?)
  • 最后,从总体上看,如何使用其他流行的系统和服务(如Skype、不和谐、Slack或Spotify)来解决您的问题,也许可以考虑应用它们所应用的一些已知技术。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46253768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档