标签: udp

HTTP使用UDP吗?

这可能是一个愚蠢的问题:

  • HTTP是否曾使用用户数据报协议?

例如:

如果使用HTTP传输MP3或视频,它是否在内部使用UDP进行传输?

udp tcp http

98
推荐指数
10
解决办法
16万
查看次数

当您需要可靠的UDP时,您会使用什么?

如果您的TCP连接可能太慢并且UDP"连接"可能太不可靠,您使用什么?有各种标准的可靠UDP协议,你有什么经验吗?

请在每个回复中讨论一个协议,如果其他人已经提到您使用的协议,则考虑将其投票并使用评论进行详细说明(如果需要).

我对这里的各种选项感兴趣,其中TCP位于规模的一端而UDP位于另一端.提供了各种可靠的UDP选项,每个选项都带有TCP到UDP的一些元素.

我知道TCP通常是正确的选择,但是有一个备选列表通常可以帮助我们得出结论.像UDP,RUDP等基于UDP构建的东西各有利弊,你使用它们,你的经历是什么?

为了避免疑问,没有更多的信息,这是一个假设的问题,我希望这个问题会引出一个回复列表,详细说明需要做出决定的人可以使用的各种选项和备选方案.

sockets udp network-programming tcp

90
推荐指数
7
解决办法
6万
查看次数

TCP和UDP套接字可以使用相同的端口吗?

首先,在同一台服务器上同时使用UDP和TCP有什么问题吗?

其次,我可以使用相同的端口号吗?

sockets networking udp tcp

89
推荐指数
2
解决办法
5万
查看次数

视频流上的TCP与UDP

我刚从网络编程的考试中回到家,他们问我们的一个问题是"如果要播放视频,你会使用TCP还是UDP?为存储的视频和实时视频流提供解释".对于这个问题,他们只是简单地期望存储视频的TCP简短回答和实时视频的UDP,但我在回家的路上想到了这一点,并且使用UDP流媒体直播视频一定更好吗?我的意思是,如果你有足够的带宽,并说你正在播放足球比赛或音乐会,你真的需要使用UDP吗?

让我们说,当你正在流式音乐会或使用TCP的任何东西时,你开始丢失数据包(在你和发送者之间的某些网络中发生了一些不好的事情),并且整整一分钟你都没有得到任何数据包.视频流将暂停,一分钟后,数据包开始再次通过(IP为您找到了新的路由).然后会发生什么是TCP会在您丢失的那一刻重新传输并继续向您发送实时流.假设带宽高于流上的比特率,并且ping不是太高,所以在很短的时间内,丢失的那一分钟将作为流的缓冲区,这样,如果再次发生丢包,您将不会注意到.

现在,我可以想到一些设备,这不是一个好主意,例如视频会议,你需要总是在流的末尾,因为视频聊天期间的延迟是可怕的,但在足球比赛或音乐会期间,如果你在流后面一分钟,这有什么关系?此外,您可以保证获得所有数据,最好保存以供日后查看,而不会出现任何错误.

所以这让我想到了我的问题.关于使用TCP进行直播,我不知道有什么缺点吗?或者它应该真的是,如果你有它的带宽你应该去TCP,因为它对网络"更好"(流量控制)?

video networking udp tcp video-streaming

87
推荐指数
4
解决办法
14万
查看次数

带有UDP的JavaScript WebSockets?

我正在编写一个JavaScript应用程序,它必须从其他用户那里接收大量数据.如果某些数据丢失并不重要.有没有办法使用带有UDP而不是TCP的JavaScript WebSockets?

javascript udp tcp packet websocket

69
推荐指数
4
解决办法
6万
查看次数

如何为我的应用程序选择多播地址?

我应该如何为我的应用程序选择IPv4多播地址?我可能需要多个(最终可能是整个范围),但只是想避免与其他应用程序冲突.

  • 数据包将完全包含在管理域中,可能是LAN
  • 如果我的应用程序的几个独立实例在同一网络上使用,他们每个都可以使用自己的多播地址 - 但如果他们不这样做,他们将能够共存,他们只会忽略少量开销彼此的包裹.
  • 我的数据包已经包含一个"幻数"以避免出现问题
  • 我将检查发起人地址(我知道当然可以欺骗),TTL和其他事情,以防止意外的数据包混乱.

想法请:)

目前我刚从"本地使用"空间分配了一个任意的空间,239.255.42.99

networking udp multicast ipv4

65
推荐指数
3
解决办法
5万
查看次数

绑定多播(UDP)套接字是什么意思?

我在具有多个网络接口的主机之间使用多播UDP.我正在使用boost :: asio,并且被接收器必须进行的2个操作混淆:bind,然后是join-group.

当您对加入的每个组播组执行此操作时,为什么需要在绑定期间指定接口的本地地址?

姐妹问题是关于多播端口:因为在发送期间,您发送到多播地址和端口,为什么在订阅多播组期间,您只需指定地址,而不是端口 - 在混乱的呼叫中指定的端口绑定.

注意:"join-group"是一个包装器setsockopt(IP_ADD_MEMBERSHIP),如文档所示,可以在同一个套接字上多次调用以订阅不同的组(通过不同的网络?).因此,每次订阅组时,抛弃绑定调用并指定端口是完全合理的.

从我所看到的,总是绑定到"0.0.0.0"并在加入组时指定接口地址,效果非常好.困惑.

sockets udp bind multicast boost-asio

65
推荐指数
4
解决办法
10万
查看次数

WebRTC使用TCP还是UDP?

这听起来像一个非常基本的问题,但我需要确认

  1. WebRTC是否使用TCP或UDP作为其对等传输?我怎么知道 ?
  2. 我看到有可靠性模式和DTLS协议,它们如何影响?
  3. Media和DataChannel的传输方式是否相同?
  4. 如何在TCP和UDP之间切换?

我问这个是因为我知道浏览器对并行连接的数量有限制(我认为他们谈论TCP),并且UDP连接可能不受限制.

udp tcp channel transport webrtc

64
推荐指数
1
解决办法
3万
查看次数

C#little endian还是big endian?

在允许我们通过UDP/IP控制它的硬件文档中,我发现了以下片段:

在这种通信协议中,DWORD是4字节数据,WORD是2字节数据,BYTE是单字节数据.存储格式为小端,即4字节(32位)数据存储为:d7-d0,d15-d8,d23-d16,d31-d24; 双字节(16位)数据存储为:d7-d0,d15-d8.

我想知道这是如何转换为C#的?在发送之前我是否必须转换内容?例如,如果我想发送32位整数或4个字符的字符串?

c# hardware udp endianness

62
推荐指数
3
解决办法
9万
查看次数

现实生活中TCP和UDP的例子是什么?

我知道两者在技术层面上的区别.

但在现实生活中,任何人都可以提供TCP和UDP应用程序(使用)的示例(越多越好)来展示它们的区别吗?

udp tcp

56
推荐指数
8
解决办法
21万
查看次数