java multicastsocket_java点滴之MulticastSocket的使用

创建MulticastSocket对象后,还须要将该MulticastSocket增加到指定的多点广播地址,MulticastSocket使用joinGroup()方法增加指定组;使用leaveGroup()方法脱离一个组。

1、joinGroup(InetAddress multicastAddr):将该MulticastSocket增加指定的多点广播地址。

2、leaveGroup(InetAddress multicastAddr):让该MulticastSocket离开指定的多点广播地址。

应用程序仅仅将数据报包发送给组播地址,路由器将确保包被发送到改组播组中的全部主机。

组播地址:称为组播组的一组主机所共享的地址。组播地址的范围在224.0.0.0--- 239.255.255.255之间(都为D类地址 1110开头)。

备注:假设如今有三台机器A、B、C,三台机器IP地址都不一样,A\B为server监听广播消息,C为client发送广播消息,个人理解是将A、B两台机器的MulticastSocket对象绑定在组播地址中的当中一个,然后Cclient发送消息的组播地址一致,则A、B就行接收C发送的消息。

假设MulticastSocket用于接收信息则使用默认地址和随机port就可以,可是假设用来接收信息,则必需要指定port,否则发送方无法确定发送数据报的目标port。

三代码演示样例

MulticastSocket _socket = new MulticastSocket(5353);

InetSocketAddress sockaddr = new InetSocketAddress(224.0.0.251, 5353);

try {

_socket.setNetworkInterface(hostInfo.getInterface());

_socket.joinGroup(sockaddr, hostInfo.getInterface());

} catch (SocketException e) {

DLog.w(TAG, TAGClass + "openMulticastSocket() Set network interface exception: "

+ e.getMessage());

}

}

_socket.setTimeToLive(255);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值