发送数据-UDP数据包的发送顺序怎么确定?

问题描述

UDP数据包的发送顺序怎么确定?

我用UDP发送数据包,在连续发送的情况下,接收端怎么确定我的发送顺序?
有什么方法,还是在发送的时候要先添加序号?

解决方案

UDP 是无顺序的,先发的包不一定会先到,所以最好还是自己在协议中增加包的编号。
接收处理时,按无序的逻辑进行,这样就能正常完成数据的接收。

否则,就换 TCP 协议吧,它的顺序是可以保证的。

解决方案二:

自己编号自己编号自己编号

解决方案三:

UDP没顺序,自己需要定义协议等来完成组包

时间: 2024-11-08 17:30:10

发送数据-UDP数据包的发送顺序怎么确定?的相关文章

Socket编程 (异步通讯,解决Udp丢包) - Part4

原文http://www.cnblogs.com/zengqinglei/archive/2013/05/15/3079007.html Socket编程 (异步通讯,解决Udp丢包) 对于基于socket的udp协议通讯,丢包问题大家应该都见怪不怪了,但我们仍然希望在通讯方面使用Udp协议通讯,因为它即时,消耗资源 少,响应迅速,灵活性强无需向Tcp那样建立连接消耗很长的时间等等很有优势的理由让我们对Udp通讯寄予了厚望.但它也存在一个不好的特点,经常丢包是 时常发生的事.可能各位大侠已经有了

PowerShell脚本开发之收发UDP消息包_PowerShell

在上篇文章中,在PSNet工具集中创建了Send-TCPMessage和Receive-TCPMessage两个函数实现了通过PowerShell收发TCP消息包的功能,有了TCP包的发送和接收,自然少不了UDP消息包的发送和接收,本文将会介绍通过PowerShell发送和接收UDP消息包的方法. 为了能跟之前的PSNet程序集匹配,继续基于此程序集进行扩展,在$env:PSSpace\PSNet下创建UDPOp目录,在其中创建Receive-UDPMessage.ps1和Send-UDPMes

linux网络实现分析(3)——数据包的发送(IP层到链路层)

二层(链路层)数据包发送过程分析         当上层准备好一个包之后,交给链路层,链路层数据包发送主要通过dev_queue_xmit函数处理.数据包的发送可分为两种,一种是正常的传输流程,即通过网卡驱动,另一种是通过软中断(见注3).为了理解方便,首先看一下dev_queue_xmi函数的整体调用关系图.     dev_queue_xmit     本函数用来将带发送的skb加入一个dev的队列(Queue),调用这个函数前必须设置好skb的device和priority,本函数可以在中

如何让自己发送出去的udp数据不被自己接收到?

问题描述 如何让自己发送出去的udp数据不被自己接收到? 请问如何让自己发送出去的udp数据不被自己接收到?我自己写了Android接收且有发送udp的客户端,接收到是我要的数据我就给它一个回应,但自己发出的udp数据,自己也接收到了,因为接收一直开着. 解决方案 使用不同的端口,或者你在数据包里加上一个头,表示发出的客户端,自己收到自己的不处理. 解决方案二: 加上一个头,您说的头文件吗?具体怎么做呢?

Linux网络 - 数据包的发送过程

继上一篇介绍了数据包的接收过程后,本文将介绍在Linux系统中,数据包是如何一步一步从应用程序到网卡并最终发送出去的. 如果英文没有问题,强烈建议阅读后面参考里的文章,里面介绍的更详细. 本文只讨论以太网的物理网卡,并且以一个UDP包的发送过程作为示例,由于本人对协议栈的代码不熟,有些地方可能理解有误,欢迎指正 socket层                +-------------+                 | Application |                 +-----

java-新人求助,为什么我的UDP和串口调试助手只能发送一次数据,再发数据必须重新监听,为什么

问题描述 新人求助,为什么我的UDP和串口调试助手只能发送一次数据,再发数据必须重新监听,为什么

数据包 校验-avr单片机数据包的发送和校验的问题

问题描述 avr单片机数据包的发送和校验的问题 我想问一下用avr单片机串口发送完整的数据包有哪几种可行的方法,并对数据包进行校验,求程序

网页发送udp数据

问题描述 我想实现网页上点击某个按钮就用发送udp数据给服务器,不知道js可以实现吗,如果不行有没有什么好的方法来实现,谢谢了大家 解决方案 解决方案二:你可以编写插件实现解决方案三:记得做毕业设计的时候找到了一个Flash框架叫aflax,里边封装了一些TCP操作功能,你可以看下是否能用解决方案四:JS不好实现吧解决方案五:tonet_lover:能否详细一点,之前没有做过类似的东西,插件用什么来写,用VC写activex插件可以用吗??我直接调用的winsock插件,不可以的,挺奇怪的,代码

c#-用C#语言怎么模拟发送post请求数据包并最终下载文件

问题描述 用C#语言怎么模拟发送post请求数据包并最终下载文件 通过一个在线工具模拟发送post请求数据包发送的内容和返回的数据见下面两张截图,问题来了,怎么根据返回的数据下载这个文件.用C#语言怎么写啊 解决方案 在浏览器中下载,同时用fiddler抓包,然后根据fiddler的结果照着模仿 解决方案二: 用FIDDLER确实可行,谢谢