UDP不可靠。不保证消息传递无确认、重传或超时不保证交货顺序没有数据包序列号,没有重新排序,没有队头阻塞没有连接状态跟踪没有连接建立或拆卸状态机无拥塞控制没有内置的客户端或网络反馈机制据我所知,HTTP/HTTPS使用的是TCP。是否也可以使用UDP建立HTTP/HTTPS连接? 最佳答案 它现在被谷歌用作chrome服务的实验性调查。引用:http://c3lab.poliba.it/images/3/3b/QUIC_SAC15.pdf 关于http-HTTP/HTTPS可以使用UDP
我有以下声明。“在TCP中,接收方主机使用所有源IP、源端口、目标IP和目标端口将数据报定向到适当的套接字。而在UDP中,接收方仅检查目标端口号来定向数据报。”以上说法是否正确?如果是,是否意味着在TCP中,同一个端口可以用于一个进程中的多个套接字,而在UDP中,一个套接字只能用于一个进程中的一个端口?不同进程中的套接字呢?多个进程可以在TCP/UDP中使用同一个端口吗?(编程语言:C/C++/Java)如果不是,为什么? 最佳答案 "InTCP,thereceiverhostusesallofsourceIP,sourceport
引言在这个像点点滴滴组成的虚拟宇宙中,网络通信就像是我们的超级高速公路系统,让信息在世界间飞速穿梭。想象一下,如果网络是一条繁忙的交通道路,那么协议就是交通信号灯,确保数据的流量在虚拟世界中保持有序。在这篇文章中,我们将揭开TCP和UDP这两个“交通指挥官”的神秘面纱,看看它们是如何在这个数字迷宫中引导我们的数据来去自如的,就像是在网络高速公路上开着各种“车”一样,有小巧敏捷的UDP跑车,也有稳重可靠的TCP家用车,它们共同构筑了一个充满乐趣和奇妙的网络世界!第一部分:TCP(传输控制协议)TCP的全称是传输控制协议(TransmissionControlProtocol),它是一种网络通信中
我想创建一个具有以下特征的P2P网络:低延迟并不重要丢包裹没关系节点只会在附近发送少量数据不会有NAT/防火墙问题,每个节点的公共(public)ip上都有一个开放端口每个节点都连接到每个其他节点通常我会将TCP用于任何对时间不敏感的事情,但最后一个要求会导致节点长时间拥有大量打开的连接。如果我没记错的话,使用TCP连接到1000个服务器意味着我必须使用1000个端口来处理这些连接。另一方面,UDP只需要每个节点一个端口。所以我的问题是:TCP是否能够在网络中处理上述要求,例如1000个节点而不调整系统?在这种情况下,UDP会更适合吗?还有什么会破坏这两种协议(protocol)的交易
我想识别源IP地址伪造的UDP或TCP数据包。我的猜测是,即使数据包是用具有hping的程序伪造的,MACsrc地址在所有伪造的数据包上仍然是相同的,这是正确的吗?如果我的想法不正确,我如何识别这些被伪造的数据包,并且看起来每个数据包都有不同的来源?谢谢。 最佳答案 MAC地址也可以伪造。使用TCP,很容易识别/处理它。您将使用SYN-ACK回复伪造的SYN数据包。如果它是一个真正的客户端,它会回复一个ACK来完成握手。唯一需要注意的是,您必须实现同步cookie,这样您就不会在等待ACK时创建状态和耗尽资源。对于UDP,没有办
我想通过UDP发送非常大的数据。我知道我可以通过UDP发送64K(64*1024字节)并且我将拥有UDP协议(protocol)支持的碎片。但是如果我有超过64K的数据要发送......我该如何发送呢?我知道我可以获取这个大数据=>将其转换为字节数组并将该字节数组分成更小的部分(64K)并将其作为单个包发送......并使用这种方式发送所有包。但是有没有什么办法不自己分呢?是否有可能使用内置(ip层)UDP/TCP碎片或我遗漏了什么? 最佳答案 IknowthatIcansend64K(64*1024bytes)overUDP不,你
我需要每秒将1000个小对象从服务器程序推送到千兆局域网上的100个客户端,所以我需要最快的方法,谢谢。我知道usp和TCP之间的区别-我在udp之上有一个层以使其可靠和有序。我应该使用哪个,为什么?Udp单播或TCP。由于路由器原因,我无法使用Udp多播。谢谢 最佳答案 客户端之间可以相互通信吗?最终,您的服务器只有有限数量的电线,这限制了您的速度。让客户端完成一些分发工作可以为您提供更多线路,因此比任何协议(protocol)更改都可以使您的速度成倍增加。TCP本质上是具有可靠性层的UDP-正是您所拥有的。然而,TCP是在硬件中
关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭3年前。Improvethisquestion我的应用程序需要将视频数据从服务器逐帧发送到客户端。我在使用TCP还是UDP之间犹豫不决。从我的测试中,我发现了以下一些结果:TCP:非常容易实现。UDP:要向客户端发送一个帧(大约50KB),如果我为每个帧创建1个UDP包,那么发送总是丢失帧。所以我必须把每一帧分成很多UDP包。这使我的算法更加复杂,因为UDP协议(protocol)可能会丢失包,并且包可能会乱序传送。此外,如果每个UDP包中的数据长度
我打算设计一个从多个客户端接收数据的服务器,服务器不需要将任何东西发送回客户端,虽然STATUS_OK仍然很酷但不是必需的。我知道Python套接字模块、扭曲框架的基础知识,但我的问题是,我应该使用UDP还是TCP?需要保持连接的客户端。我希望你们能理解我的问题,谢谢你们在这里的精彩帮助 最佳答案 在遇到可以使用UDP缓解的性能问题之前,您应该始终使用TCP。TCP失败时更容易理解。 关于PythonSocket编程(TCP与UDP),我们在StackOverflow上找到一个类似的问题
我的计算机上正在运行某个应用程序。同一应用程序可以在局域网或世界不同地方的多台计算机上运行。我想在他们之间进行交流。所以我基本上想要一个p2p系统。但我将永远知道哪些计算机(特定IP地址)将是对等方。我只希望同龄人具有加入和离开功能。最重要的一个目标是通信速度和所需时间。我假设对等点之间的简单UDP多播(如果存在类似的东西)将是最快的解决方案。即使丢失,我也不想重新传输消息。我应该使用现有的p2p库吗?libjingle等或者只是从头开始创建一些基本框架,因为我的需求非常基本? 最佳答案 我认为您忽略了UDP的要点。从某种意义上说,