基于udp的组播通信

基于udp的组播通信

ID:6135903

大小:157.50 KB

页数:6页

时间:2017-11-18

基于udp的组播通信_第1页
基于udp的组播通信_第2页
基于udp的组播通信_第3页
基于udp的组播通信_第4页
基于udp的组播通信_第5页
资源描述:

《基于udp的组播通信》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于UDP的组播通信一般数据报通信是在两台主机之间的点对点通信,称为“单播(Unicast)”。当多台主机同时接收一个数据报时,若采用单播通信,则源主机需要给每个接收主机发送一个相同的数据报;若采用组播通信,则源主机只需发送一个数据报即可到达每个接收主机,从而节省了网络带宽,降低了发送主机的负荷。组播(Multicast)是一种特殊的数据报传输方式,它将具有相同需求的主机加入到某一个组,向组发送的信息,其所有成员均可接收到。组是用组播地址(D类IP地址:224.0.0.0-239.255.255.255)和标准UDP端口号来标识的,即待发送数据报的目的地址为一个组播地址。主机可以申

2、请加入某个组播地址所标识的组,也可以从该组中退出。MulticastSocket类为了实现组播通信,java.net包中有相应的MulticastSocket类。多播数据报套接字类MulticastSocket是DatagramSocket类的子类,它用来发送和接收IP多播包,同时可以沿用数据报通信的一些主要方法。其构造方法与常用方法如表所示。构造方法功能·publicMulticastSocket()throwsIOException·publicMulticastSocket(intport)throwsIOException·publicMulticastSocket(Soc

3、ketAddressbindaddr)throwsIOException·创建多播套接字·创建多播套接字并将其绑定到特定端口·创建绑定到指定套接字地址的MulticastSocket常用方法功能·publicvoidjoinGroup(InetAddressmcastaddr)·publicvoidjoinGroup(SocketAddressmcastaddr,NetworkInterfacenetIf)·publicvoidleaveGroup(InetAddressmcastaddr)·publicvoidleaveGroup(SocketAddressmcastaddr,N

4、etworkInterfacenetIf)·加入多播组·加入指定接口上的指定多播组·离开多播组·离开指定本地接口上的多播组组播发送程序(服务器)importjava.net.*;publicclassBroadCastextendsThread{Strings="天气预报,最高温度32度,最低温度25度";intport=5858;//组播的端口InetAddressgroup=null;//组播组的地址MulticastSocketsocket=null;//多点广播套接字BroadCast(){try{group=InetAddress.getByName("239.255.8

5、.0");//设置组播组的地址为239.255.8.0socket=newMulticastSocket(port);//多点组播套接字将在port端口播出socket.setTimeToLive(1);//设置组播套接字发送数据报范围为本地网络socket.joinGroup(group);//加入多播组,加入group后,socket发送的数据报}//可以被加入到group中的成员接收到catch(Exceptione){System.out.println("Error:"+e);}}publicvoidrun(){while(true){try{DatagramPacket

6、packet=null;//待广播的数据包bytedata[]=s.getBytes();packet=newDatagramPacket(data,data.length,group,port);System.out.println(newString(data));socket.send(packet);//多播数据包sleep(2000);}catch(Exceptione){System.out.println("Error:"+e);}}}publicstaticvoidmain(Stringargs[]){newBroadCast().start();}}11.5.2组

7、播发送程序(服务器)(续一)运行方法:在待运行类的主目录下编写并运行MulticastDatagramSendDemo.bat文件,其内容如下:javadatagram.MulticastDatagramSendDemopause图11-12例11-11组播发送程序(服务器)的输出结果11.5.3组播接收程序(客户端)P414【例11-12】组播接收程序(客户端)。程序清单11-12:MulticastDatagramReceiveDemo.javajavadatag

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。