MulticastSocket.Send(DatagramPacket, SByte) 方法

定义

注意

deprecated

使用 TTL(生存时间)将数据报数据包发送到目标,而不是套接字的默认值。

[Android.Runtime.Register("send", "(Ljava/net/DatagramPacket;B)V", "GetSend_Ljava_net_DatagramPacket_BHandler")]
[System.Obsolete("deprecated")]
public virtual void Send(Java.Net.DatagramPacket? p, sbyte ttl);
[<Android.Runtime.Register("send", "(Ljava/net/DatagramPacket;B)V", "GetSend_Ljava_net_DatagramPacket_BHandler")>]
[<System.Obsolete("deprecated")>]
override this.Send : Java.Net.DatagramPacket * sbyte -> unit

参数

p
DatagramPacket

是要发送的数据包。 数据包应包含目标多播 IP 地址和要发送的数据。 不需要是组的成员,即可将数据包发送到目标多播地址。

ttl
SByte

多播数据包的可选生存时间。 默认 ttl 为 1。

属性

例外

如果发生错误,则为

注解

使用 TTL(生存时间)将数据报数据包发送到目标,而不是套接字的默认值。 此方法仅在需要特定 TTL 的实例中使用;否则最好在套接字上设置 TTL 一次,并对所有数据包使用该默认 TTL。 此方法不会 <></B> 更改套接字的默认 TTL。 其行为可能受 setInterface此影响。

如果有安全管理器,此方法首先执行一些安全检查。 首先,如果 p.getAddress().isMulticastAddress() 为 true,此方法将调用安全管理器 checkMulticast 的方法 p.getAddress() 及其 ttl 参数。 如果该表达式的计算为 false,则此方法改为使用参数p.getAddress().getHostAddress()调用p.getPort()安全管理器checkConnect的方法。 如果不允许此操作,则每次调用安全管理器方法都可能导致 SecurityException。

此成员已弃用。 请改用以下代码或其等效代码:......int ttl = mcastSocket.getTimeToLive();mcastSocket.setTimeToLive(newttl);mcastSocket.send(p);mcastSocket.setTimeToLive(ttl);......

Java文档java.net.MulticastSocket.send(java.net.DatagramPacket, byte)

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

适用于