Socket 类

定义

此类实现客户端套接字(也称为“套接字”)。

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

注解

此类实现客户端套接字(也称为“套接字”)。 套接字是两台计算机之间通信的终结点。

套接字的实际工作由类的 SocketImpl 实例执行。 通过更改创建套接字实现的套接字工厂,应用程序可以将自身配置为创建适合本地防火墙的套接字。

在 1.0 中添加。

Java文档java.net.Socket

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

构造函数

名称 说明
Socket()

使用 System-default 类型的 SocketImpl 创建未连接的套接字。

Socket(InetAddress, Int32, Boolean)
已过时.

创建套接字并将其连接到指定 IP 地址处的指定端口号。

Socket(InetAddress, Int32, InetAddress, Int32)

创建套接字并将其连接到指定远程端口上的指定远程地址。

Socket(InetAddress, Int32)

创建流套接字并将其连接到指定 IP 地址处的指定端口号。

Socket(IntPtr, JniHandleOwnership)

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

Socket(Proxy)

创建一个未连接的套接字,指定应使用代理的类型(如果有)而不考虑任何其他设置。

Socket(SocketImpl)

使用用户指定的 SocketImpl 创建未连接的套接字。

Socket(String, Int32, Boolean)
已过时.

创建流套接字并将其连接到命名主机上的指定端口号。

Socket(String, Int32, InetAddress, Int32)

创建套接字并将其连接到指定远程端口上的指定远程主机。

Socket(String, Int32)

创建流套接字并将其连接到命名主机上的指定端口号。

属性

名称 说明
Channel

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

Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
InetAddress

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

InputStream

返回此套接字的输入流。

IsBound

返回套接字的绑定状态。

IsClosed

返回套接字的已关闭状态。

IsConnected

返回套接字的连接状态。

IsInputShutdown

返回套接字连接的读取半部分是否已关闭。

IsOutputShutdown

返回是否关闭套接字连接的写半部分。

JniIdentityHashCode

此类实现客户端套接字(也称为“套接字”)。

(继承自 Object)
JniPeerMembers

此类实现客户端套接字(也称为“套接字”)。

KeepAlive

测试是否 SocketOptions#SO_KEEPALIVE SO_KEEPALIVE 已启用。 - 或 - 启用/禁用 SocketOptions#SO_KEEPALIVE SO_KEEPALIVE

LocalAddress

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

LocalPort

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

LocalSocketAddress

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

OOBInline

测试是否 SocketOptions#SO_OOBINLINE SO_OOBINLINE 已启用。 - 或 - 启用/禁用 SocketOptions#SO_OOBINLINE SO_OOBINLINE (收到 TCP 紧急数据)

        By default, this option is disabled and TCP urgent data received on a
        socket is silently discarded.
OutputStream

返回此套接字的输出流。

PeerReference

此类实现客户端套接字(也称为“套接字”)。

(继承自 Object)
Port

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

ReceiveBufferSize

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

RemoteSocketAddress

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

ReuseAddress

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

SendBufferSize

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

SoLinger

返回设置 。SocketOptions#SO_LINGER SO_LINGER

SoTimeout

返回设置 。SocketOptions#SO_TIMEOUT SO_TIMEOUT - 或 - 启用/禁用 SocketOptions#SO_TIMEOUT SO_TIMEOUT 具有指定超时(以毫秒为单位)。

TcpNoDelay

测试是否 SocketOptions#TCP_NODELAY TCP_NODELAY 已启用。 - 或 - 启用/禁用 SocketOptions#TCP_NODELAY TCP_NODELAY (禁用/启用 Nagle 的算法)。

ThresholdClass

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

ThresholdType

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

TrafficClass

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

方法

名称 说明
Bind(SocketAddress)

将套接字绑定到本地地址。

Clone()

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

(继承自 Object)
Close()

关闭此套接字。

Connect(SocketAddress, Int32)

将此套接字连接到具有指定超时值的服务器。

Connect(SocketAddress)

将此套接字连接到服务器。

ConnectAsync(SocketAddress, Int32)

此类实现客户端套接字(也称为“套接字”)。

ConnectAsync(SocketAddress)

此类实现客户端套接字(也称为“套接字”)。

Dispose()

此类实现客户端套接字(也称为“套接字”)。

(继承自 Object)
Dispose(Boolean)

此类实现客户端套接字(也称为“套接字”)。

(继承自 Object)
Equals(Object)

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

(继承自 Object)
GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
GetOption(ISocketOption)

返回套接字选项的值。

JavaFinalize()

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

(继承自 Object)
Notify()

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

(继承自 Object)
NotifyAll()

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

(继承自 Object)
SendUrgentData(Int32)

在套接字上发送一字节紧急数据。

SendUrgentDataAsync(Int32)

此类实现客户端套接字(也称为“套接字”)。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

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

设置套接字选项的值。

SetPerformancePreferences(Int32, Int32, Int32)

设置此套接字的性能首选项。

SetSocketImplFactory(ISocketImplFactory)

设置应用程序的客户端套接字实现工厂。

SetSoLinger(Boolean, Int32)

启用/禁用 SocketOptions#SO_LINGER SO_LINGER 指定的挥发时间(以秒为单位)。

ShutdownInput()

将此套接字的输入流置于“流末尾”。

ShutdownOutput()

禁用此套接字的输出流。

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端有效。

适用于