UDP小菜

lzzqqq 2006-06-08 10:03:07
udp模式如下:

服务器 recvfrom
客户端 sendto

我的问题是:如果同一时刻,两个客户端同时sendto的话,假如
客户端1发送的是 "abcde"
客户端2发送的是 "12345"

服务器会不会收到 "a1b2c3d4e5" ?

也就是若多个客户端并发发送,服务器每次 recvfrom是否能保证只接收一个客户端的数据?

...全文
147 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
striking 2006-06-08
  • 打赏
  • 举报
回复
至少目前我还没有碰到过。
lzzqqq 2006-06-08
  • 打赏
  • 举报
回复
有说可能的,有说不可能的,到底有没有一个权威人士来拍板啊?!
我希望不会发生这种事,但实际应用中,大家遇到过乱包的情况没有啊?!
还是压根就不会乱包啊?!
快乐鹦鹉 2006-06-08
  • 打赏
  • 举报
回复
丫的,还做广告。再广告就卡察。
lzzqqq 2006-06-08
  • 打赏
  • 举报
回复
做过即时通信是不假,但还没成为真正意义上的即时通信.
最近主要是想重新把服务器设计成udp方式的高性能海量吞吐模式.而且想改成p2p模式的.
所以才问了这么个弱弱的问题.
欢迎下载我的即时通(Beta)版本,免费使用!

ftp://60.208.84.130/upload/球球通_new.exe
youngwolf 2006-06-08
  • 打赏
  • 举报
回复
客户端1发送的是 "abcde"
客户端2发送的是 "12345"

服务器会不会收到 "a1b2c3d4e5"

这个问题理论上都不可能啊,就算是TCP也不会,想想看,如果像楼主那样,那么收到a1b2c3d4e5数据后,客房端的IP和端口是多少呢?就算两个客房端IP相同,端口也一定不同!
youngwolf 2006-06-08
  • 打赏
  • 举报
回复
而且两次连续的sendto,不管时间相隔多么短,在服务器端也会收到两次SOCKET消息,即需要两次recvfrom,当然丢包情况除外,总之是不会粘包,这一点上与TCP相比是最大的优势之一,这样程序员就不用为如何分包而烦恼了!
分包的痛苦不是两个包粘在一起,而是3个包被粘成两个包,中间那个包一部分在前一包内,一部份在后一个包内!这样解完第一个包,乘下的数据丢也不是,不丢也不是,丢了的话,如果是正确的数据,将造成后面的包无法解析,不丢的话,如果是错误的数据,同样造成后面的包无法解析。虽然协议都有错误校验,但往往还是有漏网之鱼,也就是错误的数据是有存在的可能性的,比如有些时候下载的应用程序无法运行,就是这样造成的。
包被分断,再分别粘在前面和后面,这种情况不知道会不会出现,理论上应该会的。
快乐鹦鹉 2006-06-08
  • 打赏
  • 举报
回复
应该不会出问题的。否则也太烂了吧
striking 2006-06-08
  • 打赏
  • 举报
回复
不对啊,lz两个星,而且做过即时通信,没有理由问这个问题,,
难道你碰到过udp“粘包”的问题?
striking 2006-06-08
  • 打赏
  • 举报
回复
是的。完全保证
# self-service-ordering-system-based-on-ARM-A53 嵌入式自助点餐平板电脑是以餐饮业为平台,利用先进的计算机技术、嵌入式Linux技术、网络通信技术作为本项目的支撑。通过本项目,可以接触到当下主流的商用嵌入式开发平台ARM-Cortex A53架构的开发板,并能体验其开发的流程与工作原理。本项目中涉及到的网络传输相关的功能,可以在实践操作中,更加深入地学习TCP/UDP网络协议的理论及实现。 通过ARM-Cortex A53架构开发板,开发板中烧录32位Ubuntu系统,上位机通过Ubuntu16.04系统去编译c语言文件。 ### 本应用实现了用户注册功能,用户登录功能,用户点单功能,账单上传服务器功能。 #### 整体思路通过任务调度架构,循环地去访问各个模式的标志位,执行相应的代码段。 #### 用户注册功能以及用户登录功能应用了链表技术,创建用户链表,动态的增加或删除用户信息,并写入文件。 #### 用户点单功能实现了菜品动态添加的功能,通过将菜品信息以及菜品图片名称写入food.txt文件,应用菜品链表,实现菜单的动态更新。同时实现了菜单左右滑动翻页,单击菜品加一,长按菜品加一,左侧动态显示用户当前点单记录的功能。 #### 账单上传服务器功能使用TCP通信协议,将账单上传至局域网的服务器地址中。 #### ps:Ubuntu16.04 编译命令:arm-linux-gcc order.c -o order -lpthread -I ./ 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧