http - 为什么 Skype 可以使用 HTTP 代理进行实时语音通信?

标签 http tcp proxy udp skype

我曾经认为Skype发送和接收UDP数据包用于实时音频通信,所以它不能像人们通常认为的那样使用HTTP代理,因为HTTP是基于TCP的。但是在 Skype 的支持网站上,有一篇关于 HTTP 代理的文章说这会影响 Skype 进行通信的方式。

最佳答案

Skype 根据网络功能使用不同的协议(protocol)。如果它在防火墙后面并且不能直接使用 UDP 调用,它将尝试检测 HTTP 代理并使用它通过代理 CONNECT 请求隧道传输流量。这意味着它将在这种情况下使用 TCP。虽然这可能会降低连接质量,因为 UDP 的延迟通常更好(以数据丢失为代价),但这通常比根本没有连接要好。

关于http - 为什么 Skype 可以使用 HTTP 代理进行实时语音通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26439312/

相关文章:

javascript - Angular js - 从方法外部返回和 console.log $http 响应

networking - 每个发送的 TCP 数据包是否有一个单独的重传计时器?

java自动代​​理配置

node.js - 安装 grunt 时出现 NodeJS NPM 代理错误

nginx - 使用 “nginx-proxy” docker容器配置的目标网站上的网关错误

http - 我如何告诉 Rust 中的 std::io::copy 停止阅读并完成写作?

http - 使用 "Content-Encoding":"GZIP"

javascript - 如何在 CoffeeScript 中执行 HTTP GET 以从 REST API 获取 JSON

delphi - 某些 HTTP 请求上的奇怪 TCP 重置 (RST)

sockets - 当其中一个数据包被丢弃时,TCP 协议(protocol)将如何延迟数据包传输?