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); 这两种情况都将创建能够在 UDP 端口 8888 上接收广播的 DatagramSocket。

在 JDK1.0 中添加。

java.net.DatagramSocketJava 文档。

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

构造函数

DatagramSocket()

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

DatagramSocket(DatagramSocketImpl)

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

DatagramSocket(Int32)

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

DatagramSocket(Int32, InetAddress)

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

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

获取此 DatagramSocket的 SO_RCVBUF 选项的值,即平台在此 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)

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

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

导致当前线程等待,直到它被唤醒,通常是通过 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)

扩展方法

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

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

GetJniTypeName(IJavaPeerable)

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

适用于