Java多播套接字
来源:互联网 发布:工程三维绘图软件 编辑:程序博客网 时间:2024/04/30 11:45
1、IP多播地址和多播组
IP多播通信必须依赖于IP多播地址。在IPv4中它是一个D类IP地址,范围从224.0.0.0到239.255.255.255,地址 224.0.0.0 被保留,不应使用。并被划分为局部链接多播地址、预留多播地址和管理权限多播地址三类。其中,局部链接多播地址范围在224.0.0.0~224.0.0.255,这是为路由协议和其它用途保留的地址,路由器并不转发属于此范围的IP包;预留多播地址为224.0.1.0~238.255.255.255,可用于全球范围(如 Internet)或网络协议;管理权限多播地址为239.0.0.0~239.255.255.255,可供组织内部使用,类似于私有IP地址,不能用于Internet,可限制多播范围。
使用同一个IP多播地址接收多播数据包的所有主机构成了一个主机组,也称为多播组。一个多播组的成员是随时变动的,一台主机可以随时加入或离开多播组,多播组成员的数目和所在的地理位置也不受限制,一台主机也可以属于几个多播组。此外,不属于某一个多播组的主机也可以向该多播组发送数据包。
2、加入或退出多播组
可以通过使用所需端口创建 MulticastSocket,然后调用 joinGroup(InetAddress groupAddr) 方法来加入多播组。
套接字通过 leaveGroup(InetAddress addr) 方法放弃组中的成员资格。
3、发送或接收数据包
当套接字预定多播组/端口时,像所有其他成员一样(组和端口相同),它将接收其他成员发送的数据报。
将消息发送到多播组时,该主机和端口的所有预定接收者都将接收到消息(在数据包的生存范围内)。套接字不必成为多播组的成员即可向其发送消息。
4、多个 MulticastSocket 可以同时预定多播组和端口,并且都会接收到组数据包。
5、不允许 applet 使用多播套接字。
- // join a Multicast group and send the group salutations
- String msg = "Hello";
- InetAddress group = InetAddress.getByName("228.5.6.7");
- MulticastSocket s = new MulticastSocket(6789);
- s.joinGroup(group);
- DatagramPacket hi = new DatagramPacket(msg.getBytes(), msg.length(), group, 6789);
- s.send(hi);
- // get their responses!
- byte[] buf = new byte[1000];
- DatagramPacket recv = new DatagramPacket(buf, buf.length);
- s.receive(recv);
- ...
- // OK, I'm done talking - leave the group...
- s.leaveGroup(group);
- Java 多播套接字
- Java多播套接字
- JAVA使用多播套接字实现群聊室(局域网)
- 路由套接字、密钥管理套接字、广播、多播
- 使用套接字实现多播通信
- 多播套接字选项分析
- 【网络编程3】Java组播套接字
- 使用UDP套接字实现多播消息
- UNP总结 Chapter 18~21 路由套接字、密钥管理套接字、广播、多播
- 广播、多播、UNIX套接域
- JDK6.0学习笔记(十二)多播数据报套接字
- 网络编程之 广播 组播 域内套接字
- Java 套接字编程
- java套接字
- Java 套接字(Socket)
- Java 套接字
- Java套接字(Socket)
- Java套接字编程
- linux监控目录变动
- 5.21微软基因重组 图霸客厅
- HDU 2648——shopping
- XML显示
- 实现mapreduce多文件自定义输出
- Java多播套接字
- 关于3D打印软件Makerware与Arduion使用冲突问题
- 直接拿来用 !最火的Android开源项目 ——CSDN
- matlab二维图片三维显示
- 黑客专业术语扫盲
- 操作hdfs
- 最浪费不起的是时间.
- linux命令积累
- 聊城大学格创CSDN协会成功举办装机大赛