没有合适的资源?快使用搜索试试~ 我知道了~
udp协议播放器.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 159 浏览量
2022-11-20
15:01:14
上传
评论
收藏 48KB DOCX 举报
温馨提示
试读
15页
udp协议播放器.docxudp协议播放器.docx
资源推荐
资源详情
资源评论
竭诚为您提供优质文档/双击可除
udp 协议播放器
篇一:udp 中应用多播技术
java 中应用多播技术
最近看了许多 java 分布式方面书籍,在这里总结一下,
介绍分布式应用中一项重要技术,多播通信,并提供我写的
一个利用多播技术开发的简易聊天
室程序。
多播技术:多播技术并不是 java 创造的,它在互联网
协议这一层已经提供了相当多的支持,任何语言都可以访问
此服务,不过 java 语言提供了一个访问此服务的相对简单
的而又与平台无关的标准接口。但是,并不像点对点连接中,
接收方可以简单的通过要求发送方重发丢失的数据分组,
tcp 协议就可以容易地纠正诸如丢包这样的小错误,在多点
连接中,这些错误中大多数都不能简单的得到修补。如果在
很多接收方中的一个测有收到某个数据分组就不能简单地
给所有的接收方重发这个包。虽然 tcp 协议可以提供一个可
1
15
靠的服务,但在多播这样的场合,它也无能为力。至于 ip
多播技术虽然也是基于 ip 协议的,但它使用的是另外一个
不同的传输协议,udp,udp 协议可以发送单个的数据分组,
我们称为数据报,但它并没有提供任何纠错手段。
多播通信是一类特殊的 ip 地址(d 类 ip 地址)这些 ip
地址并不和任何主机关联,而是专门为多播通信保留下来的,
这些地址范围在
224.0.0.1~239.255.255.255 这间,其中
224.0.0.1~224.0.0.255 是留作为多播路由信息使用的。此
外,所有其它 d 类 ip 地址都可以随便进行通信。
举个例子,互联网上的多媒体会议就是一种多播技术的
应用程序。特别是在传输视频数据或是音频数据的场合,偶
尔的数据丢失是可以容易克服的,因为这样的场合,当视频
数据正在接收端直接播放的时候,后来的数据补足是没有什
么用处的。实时通信中经常就是这样的,传输同样的数据到
多个接收方,使用多播技术比使用多个点对点连接要更有效
率,因为多播技术在一个通信线程上采用广播的方式只发送
一次,路由器自身能够决定它们是否需要发送一个多播消息,
而关于一个接收方是否登记为一个多播地址这样的信息也
可以由路由器去处理,另外,多播消息通常带有一个严格的
生存周期,它对应着要通过的路由器数量,例如:如果消息
的生存期数据为 1,那么这个消息就只能在局域网内部传递,
2
15
如果这个数值并没有专门的设置,默认是 1,因此这样的消
息就被限制在局域网内了。从 jdk1.1 以后,java.net 包中
对多播套接字提供了支持,为了给一个多播组发送消息,你
必须先为一个合适的端口创建一个多播套接字
(multicastsocket)。
inetaddressgroup=inetaddress.getbyname(“226.1.3.5”);
intport=6789;
multicastsocketsocket=newmulticastsocket(port);
发送方没有必要一定登记到一个组里去就可以简单地
往多播地址发送数据,为了做到这一点,它会创建一个
datagrampacket 对像,把它赋给一个数据缓存,并使用字节
数组来填充后通过准备好的套接字发送出去。
byte[]buffer=newbyte[500];
datagrampacketdatagram=new
datagrampacket(buffer,buffer.length,group,port);
datagram.setdata(newstring(“helloworld”).getbytes
());
socket.send(datagram);
为了接收数据不完全统计报,接收方必须将自己登记到
一个组里,这可以通过使用发送方指定端口号来创建
3
15
剩余14页未读,继续阅读
资源评论
春哥111
- 粉丝: 1w+
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功