java命名空间java.net类multicastsocket的类成员方法:
send定义及介绍
本文导语:
send
@deprecated
public void send(datagrampacket p,
byte ttl)
throws ioexception
已过时。 使用以下代码或其等效代码:...... int ttl = mcastsocket.gettimetolive(); mcastsocket.settimetolive(newttl); mcastsocket.send(p); mcastsocket.settimeto...
@deprecated
public void send(datagrampacket p,
byte ttl)
throws ioexception
- 已过时。 使用以下代码或其等效代码:...... int ttl = mcastsocket.gettimetolive(); mcastsocket.settimetolive(newttl); mcastsocket.send(p); mcastsocket.settimetolive(ttl); ......
- 利用套接字的默认值之外的 ttl(生存时间)将数据报包发送到目的地。只有在需要特定 ttl 的实例中才需要使用此方法;否则,优先考虑在套接字上设置一次 ttl 并将该默认 ttl 用于所有数据包。此方法不改变套接字的默认 ttl。其行为可能受到
setinterface
的影响。
如果存在安全管理器,则此方法首先执行某些安全检查。首先,如果 p.getaddress().ismulticastaddress()
为 true,则此方法将使用 p.getaddress()
和 ttl
作为参数调用安全管理器的 checkmulticast
方法。如果该表达式的计算为 false,则此方法改为调用安全管理器的以 p.getaddress().gethostaddress()
和 p.getport()
为参数的 checkconnect
方法。如果不允许该操作,则每次调用安全管理器方法都会导致 securityexception。
- 参数:
p
- 要发送的数据包。数据包应该包含目标多播 ip 地址和要发送的数据。不必成为组成员即可将数据包发送到目标多播地址。ttl
- 多播数据包的可选生存时间。默认的 ttl 为 1。
- 抛出:
ioexception
- 如果发生错误(即设置 ttl 时出错)则引发该异常。
securityexception
- 如果安全管理器存在并且其 checkmulticast
或 checkconnect
方法不允许发送。- 另请参见:
datagramsocket.send(java.net.datagrampacket)
,
datagramsocket.receive(java.net.datagrampacket)
,
securitymanager.checkmulticast(java.net.inetaddress, byte)
,
securitymanager.checkconnect(java.lang.string, int)