DatagramSocket 类

定义

此类表示用于发送和接收数据报数据包的套接字。

[Android.Runtime.Register("java/net/DatagramSocket", DoNotGenerateAcw=true)]
public class DatagramSocket : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ICloseable
[<Android.Runtime.Register("java/net/DatagramSocket", DoNotGenerateAcw=true)>]
type DatagramSocket = class
    inherit Object
    interface ICloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
继承
DatagramSocket
派生
属性
实现

注解

此类表示用于发送和接收数据报数据包的套接字。

数据报套接字是数据包传送服务的发送或接收点。 在数据报套接字上发送或接收的每个数据包都是单独寻址和路由的。 从一台计算机发送到另一台计算机的多个数据包可能以不同的方式路由,并且可以按任意顺序到达。

如果可能,新构造的DatagramSocketSocketOptions#SO_BROADCAST SO_BROADCAST套接字选项已启用,以便允许传输广播数据报。 为了接收广播数据包,DatagramSocket 应绑定到通配符地址。 在某些实现中,当 DatagramSocket 绑定到更具体的地址时,也可能接收广播数据包。

示例: DatagramSocket s = new DatagramSocket(null); s.bind(new InetSocketAddress(8888)); 这等效于: DatagramSocket s = new DatagramSocket(8888); 这两种情况都将创建一个 DatagramSocket,能够接收 UDP 端口 8888 上的广播。

在 JDK1.0 中添加。

Java文档java.net.DatagramSocket

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

构造函数

名称 说明
DatagramSocket()

构造数据报套接字并将其绑定到本地主机上的任何可用端口。

DatagramSocket(DatagramSocketImpl)

使用指定的 DatagramSocketImpl 创建未绑定的数据报套接字。

DatagramSocket(Int32, InetAddress)

创建绑定到指定本地地址的数据报套接字。

DatagramSocket(Int32)

构造数据报套接字并将其绑定到本地主机计算机上的指定端口。

DatagramSocket(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

DatagramSocket(SocketAddress)

创建绑定到指定本地套接字地址的数据报套接字。

属性

名称 说明
Broadcast

测试是否启用了SO_BROADCAST。 -或- 启用/禁用SO_BROADCAST。

Channel

返回与此数据报套接字关联的唯 java.nio.channels.DatagramChannel 一对象(如果有)。

Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
InetAddress

返回此套接字连接到的地址。

IsBound

返回套接字的绑定状态。

IsClosed

返回套接字是否已关闭。

IsConnected

返回套接字的连接状态。

JniIdentityHashCode

此类表示用于发送和接收数据报数据包的套接字。

(继承自 Object)
JniPeerMembers

此类表示用于发送和接收数据报数据包的套接字。

LocalAddress

获取套接字绑定到的本地地址。

LocalPort

返回此套接字绑定到的本地主机上的端口号。

LocalSocketAddress

返回此套接字绑定到的终结点的地址。

PeerReference

此类表示用于发送和接收数据报数据包的套接字。

(继承自 Object)
Port

返回此套接字连接到的端口号。

ReceiveBufferSize

获取SO_RCVBUF DatagramSocket选项的值,即平台为此输入 DatagramSocket使用的缓冲区大小。 - 或 - 将SO_RCVBUF选项设置为指定的值 DatagramSocket

RemoteSocketAddress

返回此套接字连接到的终结点的地址,或 null 未连接该终结点的地址。

ReuseAddress

测试是否启用了SO_REUSEADDR。 -或 - 启用/禁用SO_REUSEADDR套接字选项。

SendBufferSize

获取此 DatagramSocket选项的SO_SNDBUF选项的值,即平台为此输出 DatagramSocket使用的缓冲区大小。 - 或 - 将SO_SNDBUF选项设置为指定的值 DatagramSocket

SoTimeout

检索SO_TIMEOUT的设置。 - 或 - 启用/禁用具有指定超时(以毫秒为单位)的SO_TIMEOUT。

ThresholdClass

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

ThresholdType

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

TrafficClass

获取从此 DatagramSocket 发送的数据包的 IP 数据报标头中的流量类或服务类型。 - 或 - 设置从此 DatagramSocket 发送的数据报的 IP 数据报标头中的流量类或服务八进制数类型。

方法

名称 说明
Bind(SocketAddress)

将此 DatagramSocket 绑定到特定的地址和端口。

Clone()

创建并返回此对象的副本。

(继承自 Object)
Close()

关闭此数据报套接字。

Connect(InetAddress, Int32)

将套接字连接到此套接字的远程地址。

Connect(SocketAddress)

将此套接字连接到远程套接字地址(IP 地址 + 端口号)。

ConnectAsync(InetAddress, Int32)

此类表示用于发送和接收数据报数据包的套接字。

ConnectAsync(SocketAddress)

此类表示用于发送和接收数据报数据包的套接字。

Disconnect()

断开套接字的连接。

Dispose()

此类表示用于发送和接收数据报数据包的套接字。

(继承自 Object)
Dispose(Boolean)

此类表示用于发送和接收数据报数据包的套接字。

(继承自 Object)
Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
GetOption(ISocketOption)

返回套接字选项的值。

JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
Receive(DatagramPacket)

从此套接字接收数据报数据包。

ReceiveAsync(DatagramPacket)

此类表示用于发送和接收数据报数据包的套接字。

Send(DatagramPacket)

从此套接字发送数据报数据包。

SendAsync(DatagramPacket)

此类表示用于发送和接收数据报数据包的套接字。

SetDatagramSocketImplFactory(IDatagramSocketImplFactory)

设置应用程序的数据报套接字实现工厂。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
SetOption(ISocketOption, Object)

设置套接字选项的值。

SupportedOptions()

返回此套接字支持的一组套接字选项。

ToArray<T>()

此类表示用于发送和接收数据报数据包的套接字。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

此类表示用于发送和接收数据报数据包的套接字。

(继承自 Object)
Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><>

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)

显式接口实现

名称 说明
IJavaPeerable.Disposed()

此类表示用于发送和接收数据报数据包的套接字。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

此类表示用于发送和接收数据报数据包的套接字。

(继承自 Object)
IJavaPeerable.Finalized()

此类表示用于发送和接收数据报数据包的套接字。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

此类表示用于发送和接收数据报数据包的套接字。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

此类表示用于发送和接收数据报数据包的套接字。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

此类表示用于发送和接收数据报数据包的套接字。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

此类表示用于发送和接收数据报数据包的套接字。

(继承自 Object)

扩展方法

名称 说明
GetJniTypeName(IJavaPeerable)

获取实例 self类型的 JNI 名称。

JavaAs<TResult>(IJavaPeerable)

尝试强制self键入TResult,检查强制是否在Java端有效。

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

此类表示用于发送和接收数据报数据包的套接字。

TryJavaCast<TResult>(IJavaPeerable, TResult)

尝试强制self键入TResult,检查强制是否在Java端有效。

适用于