草庐IT

TCP 与可靠的 UDP

我正在编写一个应用程序,客户端将通过无线链接将数据上传到服务器。连接应该非常可靠。链接预计会断开很多次,并且会有很多客户端连接到服务器。我很困惑是使用TCP还是可靠的UDP。请分享您的想法。谢谢。 最佳答案 当然,RUDP不是正式标准,也不知道您是否会找到可以使用的现有实现。如果要在从头开始滚动和重新建立TCP连接之间做出选择,我会选择TCP。 关于TCP与可靠的UDP,我们在StackOverflow上找到一个类似的问题: https://stackover

networking - 为什么可以同时在 TCP 和 UDP 上使用同一个端口?

我在搜索时看到,可以在同一台计算机上使用两个不同的程序,使用相同的端口和相同的网络接口(interface)通过网络进行通信,前提是一个使用UDP,另一个使用TCP。但是我没有得到很好的解释,它实际上是如何工作的,为什么这是可能的?多个程序是否也可以使用同一个UDP端口,因为UDP不在对等点之间建立真正的连接,而只是将数据包发送到一个地址?我知道使用TCP是不可能的,因为它会在服务器和客户端之间创建同步连接,但是UDP呢?如果可能,请详细解释,或链接一篇关于该主题的好文章。 最佳答案 其他答案是正确的,但有些不完整。IP(又名“IN

sockets - TCP 套接字和已连接的 UDP 套接字之间的区别

默认UDP套接字加上Connect()调用是一个已连接的UDP套接字。我知道与TCP和UDP相关的差异,但在这里我想知道只是sockets的差异 最佳答案 当使用TCP套接字时,tcp堆栈负责将数据发送到网络并传递给接收方,重新传输数据直到接收方确认。TCP还负责流量控制,即以适合网络连接和接收方的速率传输数据。最后,TCP确保接收方以正确的顺序准确地获取数据一次。使用UDP,程序员可以直接管理到网络的传输,并且必须处理丢失和乱序的数据包以及流量控制和将数据分段到可以通过网络连接传输的数据包。最后,由于udp和tcp是不同的协议(p

Wireshark抓取网卡协议分析(TCP,UDP,ARP,DNS,DHCP,HTTP超详细版本)

1.Wireshark抓包使用wireshark工具抓取ping命令操作选择本机网卡WLAN,点击开始,开始抓包在数据列表区中选取TCP协议,在数据详细区中显示出其详细信息(1)Frame:物理层的数据帧概况(2)EthernetII:数据链路层以太网帧头部信息(3)InternetProtocolVersion6:互联网层IP包头部信息(4)TransmissionControlProtocol:传输层的数据段头部信息,此处是TCP(5)HypertextTransferProtocol:应用层的信息,应用层协议中有此信息如HTTP执行抓包的操作:如pingwww.baidu.comwire

java - 将 UDP 与 NIO 一起使用有什么意义?

NIO和TCP非常适合用于许多连接。由于需要为每个新客户端打开一个新连接,因此每个客户端通常都需要自己的线程来阻塞I/O操作。NIO通过允许数据在可能的时候被读取而不是阻塞直到数据可用来解决这个问题。但是UDP呢?我的意思是,由于协议(protocol)的设计方式(发送它并忘记它,基本上),无连接UDP不具有与其相关的TCP的阻塞性质。如果我决定将一些数据发送到某个地址,那么它将这样做,没有延迟(在服务器端)。同样,如果我想读取数据,我可以只接收来自不同来源的单个数据包。我不需要使用多个线程与许多地方建立许多连接来处理它们中的每一个。那么,NIO和选择器是如何增强UDP的呢?更具体地说

networking - 使用 UDP 的 Netcat 流式传输

我可以让netcat使用TCP流式传输视频{server}cat[movie].avi|nc[clientipaddress]65535{client}nc-l-p65535|mplayer-我试过使用-u命令通过UDP发送,但这不起作用{server}cat[movie].avi|nc-u[clientipaddress]65535{client}nc-u-l-p65535|mplayer-有什么想法吗? 最佳答案 使用TCP和UDP流式传输字节之间存在根本区别...TCP在看到字节流结束时发送EOFUDP只是停止发送数据(即它不

networking - 多个套接字可以与 UDP 的同一个端口相关联吗?

我认为多个套接字可以与同一个TCP端口相关联。但是同样的事情也适用于UDP吗? 最佳答案 在TCP中将多个套接字与一个端口相关联的唯一方法是监听然后接受。这种情况下的目的是为每个传入的客户端提供一个唯一的套接字,以便将它们的字节流分开。在UDP的情况下你不需要它,因为没有字节流。您可以使用单个UDP套接字编写整个UDP服务器。您刚刚读取并发送给该客户端的处理程序,该处理程序通过相同的套接字写回响应。 关于networking-多个套接字可以与UDP的同一个端口相关联吗?,我们在Stack

swift - 使用 Network.framework 检测客户端与 UDP 断开连接

我正在尝试确定UDP客户端在使用Network.framework时何时停止向服务器发送数据包我构建了一个小示例,演示当客户端的连接被取消时,服务器无法将状态更改为.cancelled。示例客户端:importFoundationimportNetworkfuncsendMessage(onconnection:NWConnection){connection.send(content:"hello".data(using:.utf8),completion:.contentProcessed({errorinifleterror=error{print("errorwhilesend

传输层协议——UDP

文章目录1.认识知名端口号2.netstat3.pidof4.UDP协议UDP协议端格式UDP的特点面向数据报的理解缓冲区理解1.认识知名端口号ssh服务器,使用22端口ftp服务器,使用21端口telnet服务器,使用23端口http服务器,使用80端口https服务器,使用443端口0-1023:知名端口号,HTTP、FTP、SSH应用层协议,端口号是固定的1024-65535:操作系统动态分配的端口号,客户端程序的端口号,就由操作系统从这个分为分配的2.netstatnetstat是一个用来查看网络状态的重要工具输入netstat-nltpn:拒绝显示别名,能显示数字的全都转化为数字若输

TCP和UDP区别

TCP和UDP区别:1)TCP面向连接、UDP不需要建立连接。使用TCP协议需要先建立连接,然后才能进行数据传输。而UDP不需要先建立连接,直接进行数据传输。2)TCP为可靠传输,能保证数据准确无误传输、UDP为不可靠传输,不保证数据一定能全部收到。因此UDP适用于实时且允许有数据丢失的传输,例如视频会议。TCP适用于文件传输此类对数据完整性要求高的传输。3)TCP面向字节流传输、UDP面向报文传输。TCP将数据分成一个一个字节,对字节流进行传输。UDP对应用层交付的报文直接打包传输。4)TCP连接对象为一对一,UDP可多对多。