社区
C#
帖子详情
关于UDP协议发送数据报和接受数据报的问题的讨论,欢迎大家发言!
wsmall1
2004-11-19 10:09:44
一台主机向局域网广播信息,如果是基于UDP协议的,那么可以肯定消息是通过数据报的形式来发送的。我遇到的问题是,可不可以一次发送几个甚至几十个数据报呢?我接收的时候该如何来接受发送过来的一次这么多的数据报呢?
...全文
339
1
打赏
收藏
关于UDP协议发送数据报和接受数据报的问题的讨论,欢迎大家发言!
一台主机向局域网广播信息,如果是基于UDP协议的,那么可以肯定消息是通过数据报的形式来发送的。我遇到的问题是,可不可以一次发送几个甚至几十个数据报呢?我接收的时候该如何来接受发送过来的一次这么多的数据报呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kerlw
2004-11-19
打赏
举报
回复
可以是可以,不过是有些问题的
接收其实是从一个缓冲区来读取这些收到的数据报,而它是不会分辨里面存在几个数据报的,这个你看看recv , recvfrom函数就知道,只能指定大小。你要它读多少出来,它就会读多少出来。一般情况下,我们都是用一收一读,就是一次性把里面的东西读出来,所以我们设定的大小一般都是超过数据报可能的大小的。
另外一个问题就是socket的这个缓冲区也是有大小的,当接收到的数据报超过了这个缓冲区的容量了,数据就丢失了(UDP)。
通过广播地址(192。168。0。255这样的)来实现广播其实用的并不多。有时候都是通过伦循一个地址表来实现广播,这样实现的时候其实还是点到点,udp又是不可靠的方式,用点到点就可以加入一些响应判断及重发之类的加强可靠性,当然有些数据报无所谓可靠不可靠的就不用理会了。比如作为一个服务端向客户端发送一些更新数据,而且是每一段时间发送一次最新数据,而客户端接受到新数据就更新显示,没有接收到就显示已有数据,这些数据又不重要,那么服务端就只管发送就是了,不必理会是否对方接收到了,即使这个回合没有接收到,下个回合它也可能会接收到的。但是有时候数据的重要性比较高,可能我这边不能漏掉一组数据,这种情况下,就必须要考虑可靠性,服务端就希望在发送出去之后收到客户端的回应以表示客户端接收到了数据。
一个基于
UDP
数据
广播的局域网络会议程序开发文档
本文介绍了网络通讯中通用的传输控制
协议
(TCP)和用户
数据
包
协议
(
UDP
),并且利用Java 语言设计了一个简单的基于
UDP
数据
广播的局域网络会议程序,展示了在Java 语言中进行
UDP
数据
发送和接收的一般步骤。由于Java 语言卓越的跨平台特性,本系统能够不加修改的运行在Windows, Linux, Mac OS 等一系列不同平台上。
三级网络技术知识点小礼包.pdf
计算机等级考试三级网络技术
金锣网络视频会议使用说明资料.pdf
金锣网络视频会议使用说明资料.pdf
计算机网络:第四章 网络层
4.1 网络层提供的两种服务 – 了解即可 网络层向运输层提供两种服务:虚电路服务和
数据
报
服务。鉴于TCP/IP体系的网络层提供的是
数据
报
服务,因此下面我们
讨论
都是围绕网络层如何传送IP
数据
报
这个主题。 下面给出一幅图用来说明主机H1向主机H2
发送
数据
的过程: 虚电路服务与
数据
报
服务的主要区别: 4.2 网际
协议
IP 网际
协议
IP是TCP/IP体系中两个最主要的
协议
之一。 与IP
协议
配...
一个基于
UDP
数据
广播的局域网络会议程序
蒋清野(qjiang@ieee.org)美国导航与控制公司 简介:本文介绍了网络通讯中通用的传输控制
协议
(TCP)和用户
数据
包
协议
(
UDP
),并 且利用Java语言设计了一个简单的基于
UDP
数据
广播的局域网络会议程序,展示了 在Java语言中进行
UDP
数据
发送和接收的一般步骤。由于Java语言卓越的跨平台特 性,本系统能够不加修改的运行在Windows, Linux, Mac OS等...
C#
111,120
社区成员
642,537
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章