You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Aucma.Scada/packages/TouchSocket.2.0.2/lib/net6.0/TouchSocket.xml

5589 lines
242 KiB
XML

<?xml version="1.0"?>
<doc>
<assembly>
<name>TouchSocket</name>
</assembly>
<members>
<member name="T:TouchSocket.Sockets.DelaySender">
<summary>
延迟发送器
</summary>
</member>
<member name="M:TouchSocket.Sockets.DelaySender.#ctor(TouchSocket.Sockets.DelaySenderOption,System.Action{System.Byte[],System.Int32,System.Int32})">
<summary>
延迟发送器
</summary>
<param name="delaySenderOption"></param>
<param name="action"></param>
</member>
<member name="P:TouchSocket.Sockets.DelaySender.DelayLength">
<summary>
延迟包最大尺寸。
</summary>
</member>
<member name="P:TouchSocket.Sockets.DelaySender.QueueCount">
<summary>
队列长度
</summary>
</member>
<member name="M:TouchSocket.Sockets.DelaySender.Send(TouchSocket.Core.QueueDataBytes@)">
<summary>
发送
</summary>
</member>
<member name="T:TouchSocket.Sockets.IPHost">
<summary>
IP解析映射
</summary>
</member>
<member name="M:TouchSocket.Sockets.IPHost.#ctor(System.String)">
<summary>
IP解析映射
<para>
支持端口ip域名等。具体格式如下
<list type="bullet">
<item>端口:直接按<see cref="T:System.Int32"/>入参,该操作一般在监听时使用。</item>
<item>IPv4按"127.0.0.1:7789"入参。</item>
<item>IPv6按"[*::*]:7789"入参。</item>
<item>域名(1)"tcp://127.0.0.1:7789"</item>
<item>域名(2)"tcp://[*::*]:7789"</item>
<item>域名(3)"http://touchsocket.net"</item>
<item>域名(4)"http://touchsocket.net:7789"</item>
</list>
</para>
</summary>
<param name="uriString"></param>
</member>
<member name="M:TouchSocket.Sockets.IPHost.#ctor(System.Int32)">
<summary>
从端口号创建IPv4的Any地址。
</summary>
<param name="port"></param>
</member>
<member name="M:TouchSocket.Sockets.IPHost.#ctor(System.Net.IPAddress,System.Int32)">
<summary>
<see cref="T:System.Net.IPAddress"/>
</summary>
<param name="address"></param>
<param name="port"></param>
</member>
<member name="P:TouchSocket.Sockets.IPHost.EndPoint">
<summary>
获取终结点。
</summary>
<returns></returns>
<exception cref="T:System.Exception"></exception>
</member>
<member name="P:TouchSocket.Sockets.IPHost.Port">
<summary>
端口号
</summary>
</member>
<member name="M:TouchSocket.Sockets.IPHost.op_Implicit(System.String)~TouchSocket.Sockets.IPHost">
<summary>
由字符串向<see cref="T:TouchSocket.Sockets.IPHost"/>转换
</summary>
<param name="value"></param>
</member>
<member name="M:TouchSocket.Sockets.IPHost.op_Implicit(System.Int32)~TouchSocket.Sockets.IPHost">
<summary>
由端口向<see cref="T:TouchSocket.Sockets.IPHost"/>转换
</summary>
<param name="value"></param>
</member>
<member name="M:TouchSocket.Sockets.IPHost.ParseIPHosts(System.String[])">
<summary>
解析一个组的地址。
</summary>
<param name="strs"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.KeepAliveValue">
<summary>
保活机制
</summary>
</member>
<member name="P:TouchSocket.Sockets.KeepAliveValue.KeepAliveTime">
<summary>
保活机制
</summary>
</member>
<member name="P:TouchSocket.Sockets.KeepAliveValue.Interval">
<summary>
发送间隔默认20*1000ms
</summary>
</member>
<member name="P:TouchSocket.Sockets.KeepAliveValue.AckInterval">
<summary>
确认间隔默认2*1000ms
</summary>
</member>
<member name="T:TouchSocket.Sockets.ClientSslOption">
<summary>
客户端Ssl验证
</summary>
</member>
<member name="M:TouchSocket.Sockets.ClientSslOption.#ctor">
<summary>
构造函数
</summary>
</member>
<member name="P:TouchSocket.Sockets.ClientSslOption.TargetHost">
<summary>
目标Host
</summary>
</member>
<member name="P:TouchSocket.Sockets.ClientSslOption.ClientCertificates">
<summary>
验证组合
</summary>
</member>
<member name="T:TouchSocket.Sockets.DelaySenderOption">
<summary>
DelaySenderOption
</summary>
</member>
<member name="P:TouchSocket.Sockets.DelaySenderOption.QueueLength">
<summary>
延迟队列最大尺寸默认1024*1024字节。
</summary>
</member>
<member name="P:TouchSocket.Sockets.DelaySenderOption.DelayLength">
<summary>
延迟包最大尺寸默认1024*64字节。
</summary>
</member>
<member name="T:TouchSocket.Sockets.ServiceSslOption">
<summary>
服务器Ssl设置
</summary>
</member>
<member name="P:TouchSocket.Sockets.ServiceSslOption.Certificate">
<summary>
证书
</summary>
</member>
<member name="P:TouchSocket.Sockets.ServiceSslOption.ClientCertificateRequired">
<summary>
该值指定是否向客户端请求证书用于进行身份验证。 请注意,这只是一个请求 - 如果没有提供任何证书,服务器仍然可接受连接请求
</summary>
</member>
<member name="T:TouchSocket.Sockets.SslOption">
<summary>
Ssl配置
</summary>
</member>
<member name="M:TouchSocket.Sockets.SslOption.#ctor">
<summary>
Ssl配置
</summary>
</member>
<member name="P:TouchSocket.Sockets.SslOption.SslProtocols">
<summary>
协议版本
</summary>
</member>
<member name="P:TouchSocket.Sockets.SslOption.CheckCertificateRevocation">
<summary>
该值指定身份验证期间是否检查证书吊销列表
</summary>
</member>
<member name="P:TouchSocket.Sockets.SslOption.CertificateValidationCallback">
<summary>
SSL验证回调。
</summary>
</member>
<member name="T:TouchSocket.Sockets.TcpListenOption">
<summary>
监听配置
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpListenOption.Name">
<summary>
名称
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpListenOption.IpHost">
<summary>
监听地址
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpListenOption.SendTimeout">
<summary>
发送超时时间
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpListenOption.ReuseAddress">
<summary>
是否使用地址复用
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpListenOption.Backlog">
<summary>
Tcp处理并发连接时最大半连接队列
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpListenOption.NoDelay">
<summary>
禁用延迟发送
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpListenOption.UseSsl">
<summary>
是否使用ssl加密
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpListenOption.ServiceSslOption">
<summary>
用于Ssl加密的证书
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpListenOption.Adapter">
<summary>
配置Tcp适配器
</summary>
</member>
<member name="T:TouchSocket.Sockets.Protocol">
<summary>
协议类
</summary>
</member>
<member name="F:TouchSocket.Sockets.Protocol.m_value">
<summary>
</summary>
</member>
<member name="F:TouchSocket.Sockets.Protocol.None">
<summary>
表示无协议
</summary>
</member>
<member name="F:TouchSocket.Sockets.Protocol.Http">
<summary>
获取http协议
</summary>
</member>
<member name="F:TouchSocket.Sockets.Protocol.Tcp">
<summary>
Tcp协议
</summary>
</member>
<member name="F:TouchSocket.Sockets.Protocol.NamedPipe">
<summary>
命名管道
</summary>
</member>
<member name="F:TouchSocket.Sockets.Protocol.Udp">
<summary>
UDP协议
</summary>
</member>
<member name="F:TouchSocket.Sockets.Protocol.WebSocket">
<summary>
获取WebSocket协议
</summary>
</member>
<member name="M:TouchSocket.Sockets.Protocol.#ctor(System.String)">
<summary>
表示
</summary>
<param name="value"></param>
</member>
<member name="M:TouchSocket.Sockets.Protocol.ToString">
<summary>
转换为字符串
</summary>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.Protocol.GetHashCode">
<summary>
获取哈希码
</summary>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.Protocol.Equals(System.Object)">
<summary>
比较是否和目标相等
</summary>
<param name="obj">目标</param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.Protocol.op_Equality(TouchSocket.Sockets.Protocol,TouchSocket.Sockets.Protocol)">
<summary>
等于
</summary>
<param name="a"></param>
<param name="b"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.Protocol.op_Inequality(TouchSocket.Sockets.Protocol,TouchSocket.Sockets.Protocol)">
<summary>
不等于
</summary>
<param name="a"></param>
<param name="b"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.TcpNetworkMonitor">
<summary>
Tcp网络监听器
</summary>
</member>
<member name="M:TouchSocket.Sockets.TcpNetworkMonitor.#ctor(TouchSocket.Sockets.TcpListenOption,System.Net.Sockets.Socket,System.Net.Sockets.SocketAsyncEventArgs)">
<summary>
Tcp网络监听器
</summary>
<param name="option"></param>
<param name="socket"></param>
<param name="e"></param>
<exception cref="T:System.ArgumentNullException"></exception>
</member>
<member name="P:TouchSocket.Sockets.TcpNetworkMonitor.Option">
<summary>
监听配置
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpNetworkMonitor.Socket">
<summary>
Socket组件
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpNetworkMonitor.SocketAsyncEvent">
<summary>
SocketAsyncEventArgs
</summary>
</member>
<member name="T:TouchSocket.Sockets.TouchSocketUtility">
<summary>
TouchSocketUtility
</summary>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketUtility.IsURL(System.String)">
<summary>
判断输入的字符串是否是一个超链接
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketUtility.IsIPv4(System.String)">
<summary>
判断输入的字符串是否是表示一个IP地址
</summary>
<param name="input">被比较的字符串</param>
<returns>是IP地址则为True</returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketUtility.IsIPV6(System.String)">
<summary>
判断输入的字符串是否是合法的IPV6 地址
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketUtility.HitBufferLength(System.Int64)">
<summary>
命中BufferLength
</summary>
<param name="value"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.UdpNetworkMonitor">
<summary>
Udp监听器
</summary>
</member>
<member name="M:TouchSocket.Sockets.UdpNetworkMonitor.#ctor(TouchSocket.Sockets.IPHost,System.Net.Sockets.Socket)">
<summary>
Udp监听器
</summary>
<param name="iPHost"></param>
<param name="socket"></param>
<exception cref="T:System.ArgumentNullException"></exception>
</member>
<member name="P:TouchSocket.Sockets.UdpNetworkMonitor.IPHost">
<summary>
IPHost
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpNetworkMonitor.Socket">
<summary>
Socket组件
</summary>
</member>
<member name="T:TouchSocket.Sockets.ServiceBase">
<summary>
服务器基类
</summary>
</member>
<member name="P:TouchSocket.Sockets.ServiceBase.ServerName">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.ServiceBase.ServerState">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.ServiceBase.Start">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.ServiceBase.StartAsync">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.ServiceBase.Stop">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.ServiceBase.StopAsync">
<inheritdoc/>
</member>
<member name="T:TouchSocket.Sockets.TcpCore">
<summary>
Tcp核心
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpCore.MinBufferSize">
<summary>
最小缓存尺寸
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpCore.MaxBufferSize">
<summary>
最大缓存尺寸
</summary>
</member>
<member name="F:TouchSocket.Sockets.TcpCore.SyncRoot">
<summary>
同步根
</summary>
</member>
<member name="M:TouchSocket.Sockets.TcpCore.#ctor">
<summary>
Tcp核心
</summary>
</member>
<member name="M:TouchSocket.Sockets.TcpCore.Finalize">
<summary>
析构函数
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpCore.CanSend">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpCore.OnBreakOut">
<summary>
当中断Tcp的时候。当为<see langword="true"/>时,意味着是调用<see cref="M:TouchSocket.Sockets.TcpCore.Close(System.String)"/>。当为<see langword="false"/>时,则是其他中断。
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpCore.OnException">
<summary>
当发生异常的时候
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpCore.Online">
<summary>
在线状态
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpCore.OnReceived">
<summary>
当收到数据的时候
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpCore.ReceiveBufferSize">
<summary>
接收缓存池,运行时的值会根据流速自动调整
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpCore.ReceiveCounter">
<summary>
接收计数器
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpCore.SendBufferSize">
<summary>
发送缓存池,运行时的值会根据流速自动调整
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpCore.SendCounter">
<summary>
发送计数器
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpCore.Socket">
<summary>
Socket
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpCore.SslStream">
<summary>
提供一个用于客户端-服务器通信的流,该流使用安全套接字层 (SSL) 安全协议对服务器和(可选)客户端进行身份验证。
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpCore.UseSsl">
<summary>
是否启用了Ssl
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpCore.DisposedValue">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpCore.Authenticate(TouchSocket.Sockets.ServiceSslOption)">
<summary>
以Ssl服务器模式授权
</summary>
<param name="sslOption"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpCore.Authenticate(TouchSocket.Sockets.ClientSslOption)">
<summary>
以Ssl客户端模式授权
</summary>
<param name="sslOption"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpCore.AuthenticateAsync(TouchSocket.Sockets.ServiceSslOption)">
<summary>
以Ssl服务器模式授权
</summary>
<param name="sslOption"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TcpCore.AuthenticateAsync(TouchSocket.Sockets.ClientSslOption)">
<summary>
以Ssl客户端模式授权
</summary>
<param name="sslOption"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TcpCore.BeginIocpReceive">
<summary>
开始以Iocp方式接收
</summary>
</member>
<member name="M:TouchSocket.Sockets.TcpCore.BeginSslReceive">
<summary>
开始以Ssl接收。
<para>
注意,使用该方法时,应先完成授权。
</para>
</summary>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TcpCore.Close(System.String)">
<summary>
请求关闭
</summary>
<param name="msg"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpCore.Dispose">
<summary>
释放对象
</summary>
</member>
<member name="M:TouchSocket.Sockets.TcpCore.Reset(System.Net.Sockets.Socket)">
<summary>
重置环境,并设置新的<see cref="P:TouchSocket.Sockets.TcpCore.Socket"/>
</summary>
<param name="socket"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpCore.Reset">
<summary>
重置环境。
</summary>
</member>
<member name="M:TouchSocket.Sockets.TcpCore.ThrowIfNotConnected">
<summary>
判断,当不在连接状态时触发异常。
</summary>
<exception cref="T:TouchSocket.Sockets.NotConnectedException"></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpCore.Send(System.Byte[],System.Int32,System.Int32)">
<summary>
发送数据。
<para>
内部会根据是否启用Ssl进行直接发送还是Ssl发送。
</para>
</summary>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpCore.SendAsync(System.Byte[],System.Int32,System.Int32)">
<summary>
异步发送数据。
<para>
内部会根据是否启用Ssl进行直接发送还是Ssl发送。
</para>
</summary>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
<returns></returns>
<exception cref="M:TouchSocket.Sockets.TcpCore.Exception(System.Exception)"></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpCore.BreakOut(System.Boolean,System.String)">
<summary>
当中断Tcp时。
</summary>
<param name="manual">当为<see langword="true"/>时,意味着是调用<see cref="M:TouchSocket.Sockets.TcpCore.Close(System.String)"/>。当为<see langword="false"/>时,则是其他中断。</param>
<param name="msg"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpCore.Dispose(System.Boolean)">
<summary>
释放对象
</summary>
<param name="disposing"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpCore.Exception(System.Exception)">
<summary>
当发生异常的时候
</summary>
<param name="ex"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpCore.OnCompleted(System.Net.Sockets.SocketAsyncEventArgs)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpCore.Received(TouchSocket.Core.ByteBlock)">
<summary>
当收到数据的时候
</summary>
<param name="byteBlock"></param>
</member>
<member name="T:TouchSocket.Sockets.ClientFactory`1">
<summary>
Client工厂
</summary>
</member>
<member name="M:TouchSocket.Sockets.ClientFactory`1.#ctor">
<summary>
Client工厂
</summary>
</member>
<member name="P:TouchSocket.Sockets.ClientFactory`1.CreatedClients">
<summary>
已创建的客户端安全列表,一般不要直接操作。
</summary>
</member>
<member name="P:TouchSocket.Sockets.ClientFactory`1.FreeClients">
<summary>
空闲客户端的安全队列,一般不要直接操作。
</summary>
</member>
<member name="P:TouchSocket.Sockets.ClientFactory`1.MainClient">
<summary>
主通信客户端。
</summary>
</member>
<member name="P:TouchSocket.Sockets.ClientFactory`1.MainConfig">
<summary>
主客户端配置
</summary>
<returns></returns>
</member>
<member name="P:TouchSocket.Sockets.ClientFactory`1.MaxCount">
<summary>
最大客户端数量。默认10。
</summary>
</member>
<member name="P:TouchSocket.Sockets.ClientFactory`1.MinCount">
<summary>
池中维护的最小客户端数量。默认0。
</summary>
</member>
<member name="M:TouchSocket.Sockets.ClientFactory`1.CheckStatus(System.Boolean)">
<summary>
检验主通信状态。最好在每次操作时都调用。
</summary>
<param name="tryInit">如果状态异常,是否进行再次初始化</param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ClientFactory`1.CheckStatusAsync(System.Boolean)">
<summary>
检验主通信状态。最好在每次操作时都调用。
</summary>
<param name="tryInit">如果状态异常,是否进行再次初始化</param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ClientFactory`1.Clear">
<summary>
清理池中的所有客户端。
</summary>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ClientFactory`1.ClearAsync">
<summary>
清理池中的所有客户端。
</summary>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ClientFactory`1.DisposeClient(`0)">
<summary>
释放客户端最后的调用。
</summary>
<param name="client"></param>
</member>
<member name="M:TouchSocket.Sockets.ClientFactory`1.DisposeClientAsync(`0)">
<summary>
释放客户端最后的调用。
</summary>
<param name="client"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ClientFactory`1.GetAvailableCount">
<summary>
获取空闲可用的客户端数量。
</summary>
</member>
<member name="M:TouchSocket.Sockets.ClientFactory`1.GetTransferClient(System.TimeSpan)">
<summary>
获取用于传输的客户端。在此处返回的结果,必须完成基本初始化,例如连接等。
</summary>
<returns></returns>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.ClientFactory`1.GetTransferClientResult(System.TimeSpan)">
<summary>
获取用于传输的客户端结果。可以支持<see cref="T:System.IDisposable"/>
</summary>
<param name="waitTime"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ClientFactory`1.IsAlive(`0)">
<summary>
判断客户端是不是存活状态。
</summary>
<param name="client"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ClientFactory`1.ReleaseTransferClient(`0)">
<summary>
释放使用完成的客户端
</summary>
<param name="client"></param>
</member>
<member name="M:TouchSocket.Sockets.ClientFactory`1.Dispose(System.Boolean)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.ClientFactory`1.GetTransferConfig">
<summary>
获取用于传输的客户端配置
</summary>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.ClientFactoryResult`1">
<summary>
ClientFactoryResult
</summary>
<typeparam name="TClient"></typeparam>
</member>
<member name="M:TouchSocket.Sockets.ClientFactoryResult`1.#ctor(`0,System.Action{`0})">
<summary>
ClientFactoryResult
</summary>
</member>
<member name="P:TouchSocket.Sockets.ClientFactoryResult`1.Client">
<summary>
客户端
</summary>
</member>
<member name="M:TouchSocket.Sockets.ClientFactoryResult`1.Dispose">
<summary>
释放
</summary>
</member>
<member name="T:TouchSocket.Sockets.TcpClientFactory`1">
<summary>
适用于Tcp客户端的连接工厂。
</summary>
<typeparam name="TClient"></typeparam>
</member>
<member name="M:TouchSocket.Sockets.TcpClientFactory`1.#ctor">
<summary>
适用于Tcp客户端的连接工厂。
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpClientFactory`1.ConnectTimeout">
<summary>
连接超时设定
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpClientFactory`1.MainClient">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientFactory`1.OnGetTransferConfig">
<summary>
获取传输的客户端配置
</summary>
</member>
<member name="M:TouchSocket.Sockets.TcpClientFactory`1.CheckStatus(System.Boolean)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientFactory`1.DisposeClient(`0)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientFactory`1.GetAvailableCount">
<summary>
获取可以使用的客户端数量。
<para>
注意:该值不一定是<see cref="P:TouchSocket.Sockets.ClientFactory`1.FreeClients"/>的长度,当已创建数量小于设定的最大值时,也会累加未创建的值。
</para>
</summary>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TcpClientFactory`1.GetTransferClient(System.Int32)">
<summary>
获取一个空闲的连接对象,如果等待超出设定的时间,则会创建新的连接。
</summary>
<param name="waitTime">指定毫秒数</param>
<returns></returns>
<exception cref="T:System.TimeoutException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpClientFactory`1.GetTransferClient">
<summary>
获取一个空闲的连接对象如果等待超出1秒的时间则会创建新的连接。
</summary>
<returns></returns>
<exception cref="T:System.TimeoutException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpClientFactory`1.GetTransferClient(System.TimeSpan)">
<summary>
获取一个空闲的连接对象,如果等待超出设定的时间,则会创建新的连接。
</summary>
<param name="waitTime"></param>
<returns></returns>
<exception cref="T:System.TimeoutException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpClientFactory`1.IsAlive(`0)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientFactory`1.ReleaseTransferClient(`0)">
<summary>
归还使用完的连接。
<para>
首先内部会判定存活状态,如果不再活动状态,会直接调用<see cref="M:TouchSocket.Sockets.TcpClientFactory`1.DisposeClient(`0)"/>
其次会计算是否可以进入缓存队列,如果队列数量超出<see cref="P:TouchSocket.Sockets.ClientFactory`1.MaxCount"/>,也会直接调用<see cref="M:TouchSocket.Sockets.TcpClientFactory`1.DisposeClient(`0)"/>
</para>
</summary>
<param name="client"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpClientFactory`1.Dispose(System.Boolean)">
<summary>
<inheritdoc/>
</summary>
<param name="disposing"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpClientFactory`1.GetTransferConfig">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientFactory`1.OnMainClientSetuping">
<summary>
在主客户端加载配置之前
</summary>
</member>
<member name="T:TouchSocket.Sockets.TcpClientFactory">
<summary>
适用于基于<see cref="T:TouchSocket.Sockets.TcpClient"/>的连接工厂。
</summary>
</member>
<member name="T:TouchSocket.Sockets.NATService">
<summary>
Tcp端口转发服务器
</summary>
</member>
<member name="M:TouchSocket.Sockets.NATService.GetClientInstence(System.Net.Sockets.Socket,TouchSocket.Sockets.TcpNetworkMonitor)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.NATService.OnNATReceived(TouchSocket.Sockets.NATSocketClient,TouchSocket.Sockets.ReceivedDataEventArgs)">
<summary>
在NAT服务器收到数据时。
</summary>
<param name="socketClient"></param>
<param name="e"></param>
<returns>需要转发的数据。</returns>
</member>
<member name="M:TouchSocket.Sockets.NATService.OnReceived(TouchSocket.Sockets.NATSocketClient,TouchSocket.Sockets.ReceivedDataEventArgs)">
<summary>
<inheritdoc/>
</summary>
<param name="socketClient"></param>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.NATService.OnTargetClientDisconnected(TouchSocket.Sockets.NATSocketClient,TouchSocket.Sockets.ITcpClient,TouchSocket.Sockets.DisconnectEventArgs)">
<summary>
当目标客户端断开。
</summary>
<param name="socketClient"></param>
<param name="tcpClient"></param>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.NATService.OnTargetClientReceived(TouchSocket.Sockets.NATSocketClient,TouchSocket.Sockets.ITcpClient,TouchSocket.Sockets.ReceivedDataEventArgs)">
<summary>
在目标客户端收到数据时。
</summary>
<param name="socketClient"></param>
<param name="tcpClient"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.NATSocketClient">
<summary>
端口转发辅助
</summary>
</member>
<member name="M:TouchSocket.Sockets.NATSocketClient.AddTargetClient(TouchSocket.Core.TouchSocketConfig,System.Action{TouchSocket.Sockets.ITcpClient})">
<summary>
添加转发客户端。
</summary>
<param name="config">配置文件</param>
<param name="setupAction">当完成配置,但是还未连接时回调。</param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.NATSocketClient.AddTargetClientAsync(TouchSocket.Core.TouchSocketConfig,System.Action{TouchSocket.Sockets.ITcpClient})">
<summary>
添加转发客户端。
</summary>
<param name="config">配置文件</param>
<param name="setupAction">当完成配置,但是还未连接时回调。</param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.NATSocketClient.GetTargetClients">
<summary>
获取所有目标客户端
</summary>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.NATSocketClient.SendToTargetClient(System.Byte[],System.Int32,System.Int32)">
<summary>
发送数据到全部转发端。
</summary>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
</member>
<member name="M:TouchSocket.Sockets.NATSocketClient.OnDisconnected(TouchSocket.Sockets.DisconnectEventArgs)">
<summary>
<inheritdoc/>
</summary>
<param name="e"></param>
</member>
<member name="T:TouchSocket.Sockets.SocketClient">
<summary>
SocketClient
</summary>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.#ctor">
<summary>
构造函数
</summary>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.CanSend">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.CanSetDataHandlingAdapter">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.Config">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.DataHandlingAdapter">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.Id">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.IP">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.IsClient">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.LastReceivedTime">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.LastSendTime">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.ListenOption">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.MainSocket">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.Online">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.PluginManager">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.Port">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.Protocol">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.Resolver">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.Service">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.ServiceIP">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.ServicePort">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.UseSsl">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.BreakOut(System.Boolean,System.String)">
<summary>
中断连接
</summary>
<param name="manual"></param>
<param name="msg"></param>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.Disconnected">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.SocketClient.Disconnecting">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.OnConnected(TouchSocket.Sockets.ConnectedEventArgs)">
<summary>
当客户端完整建立Tcp连接。
</summary>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.OnConnecting(TouchSocket.Sockets.ConnectingEventArgs)">
<summary>
客户端正在连接。
</summary>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.OnDisconnected(TouchSocket.Sockets.DisconnectEventArgs)">
<summary>
客户端已断开连接。
</summary>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.OnDisconnecting(TouchSocket.Sockets.DisconnectEventArgs)">
<summary>
即将断开连接(仅主动断开时有效)。
</summary>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.OnInitialized">
<summary>
当初始化完成时,执行在<see cref="M:TouchSocket.Sockets.SocketClient.OnConnecting(TouchSocket.Sockets.ConnectingEventArgs)"/>之前。
</summary>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.Close(System.String)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.ResetId(System.String)">
<summary>
<inheritdoc/>
</summary>
<param name="newId"></param>
<exception cref="T:System.ArgumentException"></exception>
<exception cref="T:TouchSocket.Sockets.ClientNotFindException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.SetDataHandlingAdapter(TouchSocket.Core.SingleStreamDataHandlingAdapter)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.DirectResetId(System.String)">
<summary>
直接重置内部Id。
</summary>
<param name="newId"></param>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.Dispose(System.Boolean)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.IdChanged(System.String,System.String)">
<summary>
当Id更新的时候触发
</summary>
<param name="oldId"></param>
<param name="newId"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.ReceivedData(TouchSocket.Sockets.ReceivedDataEventArgs)">
<summary>
当收到适配器处理的数据时。
</summary>
<returns>如果返回<see langword="true"/>则表示数据已被处理,且不会再向下传递。</returns>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.ReceivingData(TouchSocket.Core.ByteBlock)">
<summary>
当收到原始数据
</summary>
<param name="byteBlock"></param>
<returns>如果返回<see langword="true"/>则表示数据已被处理,且不会再向下传递。</returns>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.SendingData(System.Byte[],System.Int32,System.Int32)">
<summary>
当即将发送时,如果覆盖父类方法,则不会触发插件。
</summary>
<param name="buffer">数据缓存区</param>
<param name="offset">偏移</param>
<param name="length">长度</param>
<returns>返回值表示是否允许发送</returns>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.SetAdapter(TouchSocket.Core.SingleStreamDataHandlingAdapter)">
<summary>
设置适配器,该方法不会检验<see cref="P:TouchSocket.Sockets.SocketClient.CanSetDataHandlingAdapter"/>的值。
</summary>
<param name="adapter"></param>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.DefaultSend(System.Byte[],System.Int32,System.Int32)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.DefaultSendAsync(System.Byte[],System.Int32,System.Int32)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.Send(TouchSocket.Core.IRequestInfo)">
<summary>
<inheritdoc/>
</summary>
<param name="requestInfo"></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException"></exception>
<exception cref="T:TouchSocket.Core.OverlengthException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.Send(System.Byte[],System.Int32,System.Int32)">
<summary>
发送字节流
</summary>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException"></exception>
<exception cref="T:TouchSocket.Core.OverlengthException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.Send(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<summary>
<inheritdoc/>
</summary>
<param name="transferBytes"></param>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.SendAsync(System.Byte[],System.Int32,System.Int32)">
<summary>
<inheritdoc/>
</summary>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException"></exception>
<exception cref="T:TouchSocket.Core.OverlengthException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.SendAsync(TouchSocket.Core.IRequestInfo)">
<summary>
<inheritdoc/>
</summary>
<param name="requestInfo"></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException"></exception>
<exception cref="T:TouchSocket.Core.OverlengthException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.SendAsync(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<summary>
<inheritdoc/>
</summary>
<param name="transferBytes"></param>
<returns></returns>
<exception cref="T:System.ArgumentNullException"></exception>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.Send(System.String,System.Byte[],System.Int32,System.Int32)">
<summary>
发送字节流
</summary>
<param name="id">用于检索TcpSocketClient</param>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
<exception cref="T:System.Collections.Generic.KeyNotFoundException"></exception>
<exception cref="T:TouchSocket.Sockets.NotConnectedException"></exception>
<exception cref="T:TouchSocket.Core.OverlengthException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.Send(System.String,TouchSocket.Core.IRequestInfo)">
<summary>
<inheritdoc/>
</summary>
<param name="id"></param>
<param name="requestInfo"></param>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.SendAsync(System.String,System.Byte[],System.Int32,System.Int32)">
<summary>
发送字节流
</summary>
<param name="id">用于检索TcpSocketClient</param>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
<exception cref="T:System.Collections.Generic.KeyNotFoundException"></exception>
<exception cref="T:TouchSocket.Sockets.NotConnectedException"></exception>
<exception cref="T:TouchSocket.Core.OverlengthException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.SendAsync(System.String,TouchSocket.Core.IRequestInfo)">
<summary>
<inheritdoc/>
</summary>
<param name="id"></param>
<param name="requestInfo"></param>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.ClearReceiver">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.SocketClient.CreateReceiver">
<inheritdoc/>
</member>
<member name="T:TouchSocket.Sockets.TcpClient">
<summary>
简单Tcp客户端
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpClient.Received">
<summary>
接收到数据
</summary>
</member>
<member name="M:TouchSocket.Sockets.TcpClient.ReceivedData(TouchSocket.Sockets.ReceivedDataEventArgs)">
<inheritdoc/>
</member>
<member name="T:TouchSocket.Sockets.TcpClientBase">
<summary>
Tcp客户端
</summary>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.#ctor">
<summary>
Tcp客户端
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpClientBase.Connected">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientBase.Connecting">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientBase.Disconnected">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientBase.Disconnecting">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.OnConnected(TouchSocket.Sockets.ConnectedEventArgs)">
<summary>
已经建立Tcp连接
</summary>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.OnConnecting(TouchSocket.Sockets.ConnectingEventArgs)">
<summary>
准备连接的时候此时已初始化Socket但是并未建立Tcp连接
</summary>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.OnDisconnected(TouchSocket.Sockets.DisconnectEventArgs)">
<summary>
断开连接。在客户端未设置连接状态时,不会触发
</summary>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.OnDisconnecting(TouchSocket.Sockets.DisconnectEventArgs)">
<summary>
即将断开连接(仅主动断开时有效)。
</summary>
<param name="e"></param>
</member>
<member name="P:TouchSocket.Sockets.TcpClientBase.LastReceivedTime">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientBase.LastSendTime">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientBase.CanSetDataHandlingAdapter">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientBase.DataHandlingAdapter">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientBase.IP">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientBase.MainSocket">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientBase.Online">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientBase.CanSend">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientBase.Port">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientBase.UseSsl">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientBase.Protocol">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientBase.RemoteIPHost">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientBase.IsClient">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.Close(System.String)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.Dispose(System.Boolean)">
<summary>
<inheritdoc/>
</summary>
<param name="disposing"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.TcpConnect(System.Int32,System.Threading.CancellationToken)">
<summary>
建立Tcp的连接。
</summary>
<param name="millisecondsTimeout"></param>
<param name="token"></param>
<exception cref="T:System.ObjectDisposedException"></exception>
<exception cref="T:System.ArgumentNullException"></exception>
<exception cref="T:System.Exception"></exception>
<exception cref="T:System.TimeoutException"></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.TcpConnectAsync(System.Int32,System.Threading.CancellationToken)">
<summary>
异步连接服务器
</summary>
<param name="millisecondsTimeout"></param>
<param name="token"></param>
<returns></returns>
<exception cref="T:System.ObjectDisposedException"></exception>
<exception cref="T:System.ArgumentNullException"></exception>
<exception cref="T:System.TimeoutException"></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.Connect(System.Int32,System.Threading.CancellationToken)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.ConnectAsync(System.Int32,System.Threading.CancellationToken)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.CreateReceiver">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.ClearReceiver">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.BreakOut(System.Boolean,System.String)">
<summary>
BreakOut。
</summary>
<param name="manual"></param>
<param name="msg"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.SetDataHandlingAdapter(TouchSocket.Core.SingleStreamDataHandlingAdapter)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.ReceivedData(TouchSocket.Sockets.ReceivedDataEventArgs)">
<summary>
当收到适配器处理的数据时。
</summary>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.SendingData(System.Byte[],System.Int32,System.Int32)">
<summary>
当即将发送时,如果覆盖父类方法,则不会触发插件。
</summary>
<param name="buffer">数据缓存区</param>
<param name="offset">偏移</param>
<param name="length">长度</param>
<returns>返回值表示是否允许发送</returns>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.LoadConfig(TouchSocket.Core.TouchSocketConfig)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.SetAdapter(TouchSocket.Core.SingleStreamDataHandlingAdapter)">
<summary>
设置适配器,该方法不会检验<see cref="P:TouchSocket.Sockets.TcpClientBase.CanSetDataHandlingAdapter"/>的值。
</summary>
<param name="adapter"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.Send(TouchSocket.Core.IRequestInfo)">
<summary>
<inheritdoc/>
</summary>
<param name="requestInfo"></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException"></exception>
<exception cref="T:TouchSocket.Core.OverlengthException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.Send(System.Byte[],System.Int32,System.Int32)">
<summary>
<inheritdoc/>
</summary>
<param name="buffer"><inheritdoc/></param>
<param name="offset"><inheritdoc/></param>
<param name="length"><inheritdoc/></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException"><inheritdoc/></exception>
<exception cref="T:TouchSocket.Core.OverlengthException"><inheritdoc/></exception>
<exception cref="T:System.Exception"><inheritdoc/></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.Send(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<summary>
<inheritdoc/>
</summary>
<param name="transferBytes"><inheritdoc/></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException"><inheritdoc/></exception>
<exception cref="T:TouchSocket.Core.OverlengthException"><inheritdoc/></exception>
<exception cref="T:System.Exception"><inheritdoc/></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.SendAsync(System.Byte[],System.Int32,System.Int32)">
<summary>
<inheritdoc/>
</summary>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException"></exception>
<exception cref="T:TouchSocket.Core.OverlengthException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.SendAsync(TouchSocket.Core.IRequestInfo)">
<summary>
<inheritdoc/>
</summary>
<param name="requestInfo"></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException"></exception>
<exception cref="T:TouchSocket.Core.OverlengthException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.SendAsync(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<summary>
<inheritdoc/>
</summary>
<param name="transferBytes"></param>
<returns></returns>
<exception cref="T:System.ArgumentNullException"></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.DefaultSend(System.Byte[],System.Int32,System.Int32)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.DefaultSendAsync(System.Byte[],System.Int32,System.Int32)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientBase.ReceivingData(TouchSocket.Core.ByteBlock)">
<summary>
当收到原始数据
</summary>
<param name="byteBlock"></param>
<returns>如果返回<see langword="true"/>则表示数据已被处理,且不会再向下传递。</returns>
</member>
<member name="T:TouchSocket.Sockets.TcpClientSlim">
<summary>
轻量级Tcp客户端
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.Received">
<summary>
接收到数据
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.Connected">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.Connecting">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.Disconnected">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.Disconnecting">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.OnConnected(TouchSocket.Sockets.ConnectedEventArgs)">
<summary>
已经建立Tcp连接
</summary>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.OnConnecting(TouchSocket.Sockets.ConnectingEventArgs)">
<summary>
准备连接的时候此时已初始化Socket但是并未建立Tcp连接
</summary>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.OnDisconnected(TouchSocket.Sockets.DisconnectEventArgs)">
<summary>
断开连接。在客户端未设置连接状态时,不会触发
</summary>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.OnDisconnecting(TouchSocket.Sockets.DisconnectEventArgs)">
<summary>
即将断开连接(仅主动断开时有效)。
</summary>
<param name="e"></param>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.TcpDataHandlingAdapter">
<summary>
设置Tcp适配器获取器。
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.Logger">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.LastReceivedTime">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.LastSendTime">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.CanSetDataHandlingAdapter">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.DataHandlingAdapter">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.IP">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.MainSocket">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.Online">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.CanSend">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.Port">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.UseSsl">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.RemoteIPHost">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.IsClient">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.SendTimeout">
<summary>
<inheritdoc cref="P:System.Net.Sockets.Socket.SendTimeout"/>
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.KeepAliveValue">
<summary>
在Tcp层保活机制。
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.NoDelay">
<summary>
禁止Delay算法
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.BindIPHost">
<summary>
固定Tcp客户端的端口
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.ReuseAddress">
<summary>
使用端口复用
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.MinBufferSize">
<summary>
最小缓存区设置
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.MaxBufferSize">
<summary>
最大缓存区设置
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpClientSlim.ClientSslOption">
<summary>
Ssl相关
</summary>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.Close(System.String)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.Dispose(System.Boolean)">
<summary>
<inheritdoc/>
</summary>
<param name="disposing"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.TcpConnect(System.Int32,System.Threading.CancellationToken)">
<summary>
建立Tcp的连接。
</summary>
<param name="millisecondsTimeout"></param>
<param name="token"></param>
<exception cref="T:System.ObjectDisposedException"></exception>
<exception cref="T:System.ArgumentNullException"></exception>
<exception cref="T:System.Exception"></exception>
<exception cref="T:System.TimeoutException"></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.TcpConnectAsync(System.Int32,System.Threading.CancellationToken)">
<summary>
异步连接服务器
</summary>
<param name="millisecondsTimeout"></param>
<param name="token"></param>
<returns></returns>
<exception cref="T:System.ObjectDisposedException"></exception>
<exception cref="T:System.ArgumentNullException"></exception>
<exception cref="T:System.TimeoutException"></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.Connect(System.Int32,System.Threading.CancellationToken)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.ConnectAsync(System.Int32,System.Threading.CancellationToken)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.CreateReceiver">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.ClearReceiver">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.BreakOut(System.Boolean,System.String)">
<summary>
BreakOut。
</summary>
<param name="manual"></param>
<param name="msg"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.SetDataHandlingAdapter(TouchSocket.Core.SingleStreamDataHandlingAdapter)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.ReceivedData(TouchSocket.Sockets.ReceivedDataEventArgs)">
<summary>
当收到适配器处理的数据时。
</summary>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.SendingData(System.Byte[],System.Int32,System.Int32)">
<summary>
当即将发送时,如果覆盖父类方法,则不会触发插件。
</summary>
<param name="buffer">数据缓存区</param>
<param name="offset">偏移</param>
<param name="length">长度</param>
<returns>返回值表示是否允许发送</returns>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.SetAdapter(TouchSocket.Core.SingleStreamDataHandlingAdapter)">
<summary>
设置适配器,该方法不会检验<see cref="P:TouchSocket.Sockets.TcpClientSlim.CanSetDataHandlingAdapter"/>的值。
</summary>
<param name="adapter"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.Send(TouchSocket.Core.IRequestInfo)">
<summary>
<inheritdoc/>
</summary>
<param name="requestInfo"></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException"></exception>
<exception cref="T:TouchSocket.Core.OverlengthException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.Send(System.Byte[],System.Int32,System.Int32)">
<summary>
<inheritdoc/>
</summary>
<param name="buffer"><inheritdoc/></param>
<param name="offset"><inheritdoc/></param>
<param name="length"><inheritdoc/></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException"><inheritdoc/></exception>
<exception cref="T:TouchSocket.Core.OverlengthException"><inheritdoc/></exception>
<exception cref="T:System.Exception"><inheritdoc/></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.Send(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<summary>
<inheritdoc/>
</summary>
<param name="transferBytes"><inheritdoc/></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException"><inheritdoc/></exception>
<exception cref="T:TouchSocket.Core.OverlengthException"><inheritdoc/></exception>
<exception cref="T:System.Exception"><inheritdoc/></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.SendAsync(System.Byte[],System.Int32,System.Int32)">
<summary>
<inheritdoc/>
</summary>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException"></exception>
<exception cref="T:TouchSocket.Core.OverlengthException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.SendAsync(TouchSocket.Core.IRequestInfo)">
<summary>
<inheritdoc/>
</summary>
<param name="requestInfo"></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException"></exception>
<exception cref="T:TouchSocket.Core.OverlengthException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.SendAsync(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<summary>
<inheritdoc/>
</summary>
<param name="transferBytes"></param>
<returns></returns>
<exception cref="T:System.ArgumentNullException"></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.DefaultSend(System.Byte[],System.Int32,System.Int32)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.DefaultSendAsync(System.Byte[],System.Int32,System.Int32)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpClientSlim.ReceivingData(TouchSocket.Core.ByteBlock)">
<summary>
当收到原始数据
</summary>
<param name="byteBlock"></param>
<returns>如果返回<see langword="true"/>则表示数据已被处理,且不会再向下传递。</returns>
</member>
<member name="T:TouchSocket.Sockets.TcpService`1">
<summary>
Tcp泛型服务器由使用者自己指定<see cref="T:TouchSocket.Sockets.SocketClient"/>类型。
</summary>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.#ctor">
<summary>
Tcp泛型服务器由使用者自己指定<see cref="T:TouchSocket.Sockets.SocketClient"/>类型。
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpService`1.MaxCount">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpService`1.Monitors">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpService`1.ServerName">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpService`1.ServerState">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpService`1.SocketClients">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpService`1.Connected">
<summary>
用户连接完成
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpService`1.Connecting">
<summary>
有用户连接的时候
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpService`1.Disconnected">
<summary>
有用户断开连接
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpService`1.Disconnecting">
<summary>
即将断开连接(仅主动断开时有效)。
</summary>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.OnClientConnected(TouchSocket.Sockets.ISocketClient,TouchSocket.Sockets.ConnectedEventArgs)">
<summary>
<inheritdoc/>
</summary>
<param name="socketClient"></param>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.OnClientConnecting(TouchSocket.Sockets.ISocketClient,TouchSocket.Sockets.ConnectingEventArgs)">
<summary>
<inheritdoc/>
</summary>
<param name="socketClient"></param>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.OnClientDisconnected(TouchSocket.Sockets.ISocketClient,TouchSocket.Sockets.DisconnectEventArgs)">
<summary>
<inheritdoc/>
</summary>
<param name="socketClient"></param>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.OnClientDisconnecting(TouchSocket.Sockets.ISocketClient,TouchSocket.Sockets.DisconnectEventArgs)">
<summary>
<inheritdoc/>
</summary>
<param name="socketClient"></param>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.OnClientReceivedData(TouchSocket.Sockets.ISocketClient,TouchSocket.Sockets.ReceivedDataEventArgs)">
<summary>
<inheritdoc/>
</summary>
<param name="socketClient"></param>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.OnConnected(`0,TouchSocket.Sockets.ConnectedEventArgs)">
<summary>
客户端连接完成,覆盖父类方法将不会触发事件。
</summary>
<param name="socketClient"></param>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.OnConnecting(`0,TouchSocket.Sockets.ConnectingEventArgs)">
<summary>
客户端请求连接,覆盖父类方法将不会触发事件。
</summary>
<param name="socketClient"></param>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.OnDisconnected(`0,TouchSocket.Sockets.DisconnectEventArgs)">
<summary>
客户端断开连接,覆盖父类方法将不会触发事件。
</summary>
<param name="socketClient"></param>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.OnDisconnecting(`0,TouchSocket.Sockets.DisconnectEventArgs)">
<summary>
即将断开连接(仅主动断开时有效)。
</summary>
<param name="socketClient"></param>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.OnReceived(`0,TouchSocket.Sockets.ReceivedDataEventArgs)">
<summary>
当收到适配器数据。
</summary>
<param name="socketClient"></param>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.AddListen(TouchSocket.Sockets.TcpListenOption)">
<inheritdoc/>
<exception cref="T:System.ArgumentNullException"></exception>
<exception cref="T:System.ObjectDisposedException"></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.Clear">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.GetClients">
<summary>
获取当前在线的所有客户端
</summary>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.RemoveListen(TouchSocket.Sockets.TcpNetworkMonitor)">
<inheritdoc/>
<returns></returns>
<exception cref="T:System.ArgumentNullException"></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.ResetId(System.String,System.String)">
<summary>
<inheritdoc/>
</summary>
<param name="oldId"></param>
<param name="newId"></param>
<exception cref="T:TouchSocket.Sockets.ClientNotFindException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.SocketClientExist(System.String)">
<summary>
<inheritdoc/>
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.Start">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.StartAsync">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.Stop">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.StopAsync">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.TryGetSocketClient(System.String,`0@)">
<summary>
尝试获取TClient
</summary>
<param name="id">Id</param>
<param name="socketClient">TClient</param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.Dispose(System.Boolean)">
<summary>
<inheritdoc/>
</summary>
<param name="disposing"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.GetClientInstence(System.Net.Sockets.Socket,TouchSocket.Sockets.TcpNetworkMonitor)">
<summary>
初始化客户端实例。
</summary>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.GetNextNewId">
<summary>
获取下一个新Id
</summary>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.LoadConfig(TouchSocket.Core.TouchSocketConfig)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.OnAuthenticatingError(System.Exception)">
<summary>
在验证Ssl发送错误时。
</summary>
<param name="ex"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpService`1.PreviewBind(TouchSocket.Sockets.TcpNetworkMonitor)">
<inheritdoc/>
</member>
<member name="T:TouchSocket.Sockets.TcpService">
<summary>
Tcp服务器
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpService.Received">
<summary>
处理数据
</summary>
</member>
<member name="M:TouchSocket.Sockets.TcpService.OnReceived(TouchSocket.Sockets.SocketClient,TouchSocket.Sockets.ReceivedDataEventArgs)">
<inheritdoc/>
</member>
<member name="T:TouchSocket.Sockets.TcpServiceBase">
<summary>
Tcp服务器基类
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpServiceBase.Count">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpServiceBase.MaxCount">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpServiceBase.Monitors">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.TcpServiceBase.SocketClients">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpServiceBase.AddListen(TouchSocket.Sockets.TcpListenOption)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpServiceBase.Clear">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpServiceBase.GetIds">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpServiceBase.RemoveListen(TouchSocket.Sockets.TcpNetworkMonitor)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpServiceBase.RentTcpCore">
<summary>
租用TcpCore
</summary>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TcpServiceBase.ResetId(System.String,System.String)">
<summary>
<inheritdoc/>
</summary>
<param name="oldId"></param>
<param name="newId"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpServiceBase.ReturnTcpCore(TouchSocket.Sockets.TcpCore)">
<summary>
归还TcpCore
</summary>
<param name="tcpCore"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpServiceBase.SocketClientExist(System.String)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpServiceBase.Dispose(System.Boolean)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpServiceBase.OnClientConnected(TouchSocket.Sockets.ISocketClient,TouchSocket.Sockets.ConnectedEventArgs)">
<summary>
客户端连接完成
</summary>
<param name="socketClient"></param>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpServiceBase.OnClientConnecting(TouchSocket.Sockets.ISocketClient,TouchSocket.Sockets.ConnectingEventArgs)">
<summary>
客户端请求连接
</summary>
<param name="socketClient"></param>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpServiceBase.OnClientDisconnected(TouchSocket.Sockets.ISocketClient,TouchSocket.Sockets.DisconnectEventArgs)">
<summary>
客户端断开连接
</summary>
<param name="socketClient"></param>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpServiceBase.OnClientDisconnecting(TouchSocket.Sockets.ISocketClient,TouchSocket.Sockets.DisconnectEventArgs)">
<summary>
即将断开连接(仅主动断开时有效)。
</summary>
<param name="socketClient"></param>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpServiceBase.OnClientReceivedData(TouchSocket.Sockets.ISocketClient,TouchSocket.Sockets.ReceivedDataEventArgs)">
<summary>
收到数据时
</summary>
<param name="socketClient"></param>
<param name="e"></param>
</member>
<member name="M:TouchSocket.Sockets.TcpServiceBase.Send(System.String,System.Byte[],System.Int32,System.Int32)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpServiceBase.Send(System.String,TouchSocket.Core.IRequestInfo)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpServiceBase.SendAsync(System.String,System.Byte[],System.Int32,System.Int32)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.TcpServiceBase.SendAsync(System.String,TouchSocket.Core.IRequestInfo)">
<inheritdoc/>
</member>
<member name="T:TouchSocket.Sockets.UdpSession">
<summary>
简单UDP会话。
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpSession.Received">
<summary>
当收到数据时
</summary>
</member>
<member name="M:TouchSocket.Sockets.UdpSession.ReceivedData(TouchSocket.Sockets.UdpReceivedDataEventArgs)">
<inheritdoc/>
</member>
<member name="T:TouchSocket.Sockets.UdpSessionBase">
<summary>
UDP基类服务器。
</summary>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.#ctor">
<summary>
构造函数
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpSessionBase.CanSend">
<summary>
<inheritdoc/>
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpSessionBase.CanSetDataHandlingAdapter">
<summary>
<inheritdoc/>
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpSessionBase.LastReceivedTime">
<summary>
<inheritdoc/>
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpSessionBase.LastSendTime">
<summary>
<inheritdoc/>
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpSessionBase.DataHandlingAdapter">
<summary>
数据处理适配器
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpSessionBase.Monitor">
<summary>
监听器
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpSessionBase.Protocol">
<summary>
<inheritdoc/>
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpSessionBase.RemoteIPHost">
<summary>
默认远程节点
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpSessionBase.ServerName">
<summary>
服务器名称
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpSessionBase.ServerState">
<summary>
获取服务器状态
</summary>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.DropMulticastGroup(System.Net.IPAddress)">
<summary>
退出组播
</summary>
<param name="multicastAddr"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.JoinMulticastGroup(System.Net.IPAddress)">
<summary>
加入组播。
<para>组播地址为 224.0.0.0 ~ 239.255.255.255,其中 224.0.0.0~224.255.255.255 不建议在用户程序中使用,因为它们一般都有特殊用途。</para>
</summary>
<param name="multicastAddr"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.SetDataHandlingAdapter(TouchSocket.Sockets.UdpDataHandlingAdapter)">
<summary>
设置数据处理适配器
</summary>
<param name="adapter"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.Start">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.StartAsync">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.Stop">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.StopAsync">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.Dispose(System.Boolean)">
<summary>
<inheritdoc/>
</summary>
<param name="disposing"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.ReceivedData(TouchSocket.Sockets.UdpReceivedDataEventArgs)">
<summary>
处理已接收到的数据。
</summary>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.HandleSendingData(System.Net.EndPoint,System.Byte[],System.Int32,System.Int32)">
<summary>
当即将发送时,如果覆盖父类方法,则不会触发插件。
</summary>
<param name="endPoint"></param>
<param name="buffer">数据缓存区</param>
<param name="offset">偏移</param>
<param name="length">长度</param>
<returns>返回值表示是否允许发送</returns>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.LoadConfig(TouchSocket.Core.TouchSocketConfig)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.PreviewBind(System.Net.Sockets.Socket)">
<summary>
在Socket初始化对象后Bind之前调用。
可用于设置Socket参数。
父类方法可覆盖。
</summary>
<param name="socket"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.SetAdapter(TouchSocket.Sockets.UdpDataHandlingAdapter)">
<summary>
设置适配器,该方法不会检验<see cref="P:TouchSocket.Sockets.UdpSessionBase.CanSetDataHandlingAdapter"/>的值。
</summary>
<param name="adapter"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.Send(System.Byte[],System.Int32,System.Int32)">
<summary>
向默认终结点发送
</summary>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.Send(TouchSocket.Core.IRequestInfo)">
<summary>
向默认终结点发送
</summary>
<param name="requestInfo"></param>
<exception cref="T:TouchSocket.Core.OverlengthException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.SendAsync(System.Byte[],System.Int32,System.Int32)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.SendAsync(TouchSocket.Core.IRequestInfo)">
<summary>
<inheritdoc/>
</summary>
<param name="requestInfo"></param>
<exception cref="T:TouchSocket.Core.OverlengthException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.Send(System.Net.EndPoint,System.Byte[],System.Int32,System.Int32)">
<summary>
向设置的远程同步发送
</summary>
<param name="remoteEP"></param>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException"></exception>
<exception cref="T:TouchSocket.Core.OverlengthException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.Send(System.Net.EndPoint,TouchSocket.Core.IRequestInfo)">
<summary>
向设置终结点发送
</summary>
<param name="endPoint"></param>
<param name="requestInfo"></param>
<exception cref="T:TouchSocket.Core.OverlengthException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.SendAsync(System.Net.EndPoint,System.Byte[],System.Int32,System.Int32)">
<summary>
向设置的远程异步发送
</summary>
<param name="endPoint"></param>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException"></exception>
<exception cref="T:TouchSocket.Core.OverlengthException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.SendAsync(System.Net.EndPoint,TouchSocket.Core.IRequestInfo)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.DefaultSend(System.Byte[],System.Int32,System.Int32)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.DefaultSend(System.Net.EndPoint,System.Byte[],System.Int32,System.Int32)">
<summary>
<inheritdoc/>
</summary>
<param name="endPoint"></param>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.DefaultSendAsync(System.Byte[],System.Int32,System.Int32)">
<summary>
<inheritdoc/>
</summary>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.DefaultSendAsync(System.Net.EndPoint,System.Byte[],System.Int32,System.Int32)">
<summary>
<inheritdoc/>
</summary>
<param name="endPoint"></param>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.Send(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<summary>
<inheritdoc/>
</summary>
<param name="transferBytes"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.Send(System.Net.EndPoint,System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<summary>
<inheritdoc/>
</summary>
<param name="endPoint"></param>
<param name="transferBytes"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.SendAsync(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<summary>
<inheritdoc/>
</summary>
<param name="transferBytes"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.SendAsync(System.Net.EndPoint,System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<summary>
<inheritdoc/>
</summary>
<param name="endPoint"></param>
<param name="transferBytes"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.CreateReceiver">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.UdpSessionBase.ClearReceiver">
<inheritdoc/>
</member>
<member name="T:TouchSocket.Sockets.Pipeline">
<summary>
Pipeline读取管道
</summary>
</member>
<member name="M:TouchSocket.Sockets.Pipeline.#ctor(TouchSocket.Sockets.ITcpClientBase)">
<summary>
Pipeline读取管道
</summary>
<param name="client"></param>
</member>
<member name="P:TouchSocket.Sockets.Pipeline.Client">
<summary>
当前支持此管道的客户端。
</summary>
</member>
<member name="T:TouchSocket.Sockets.PipelineDataHandlingAdapter">
<summary>
管道数据处理适配器。
使用该适配器后,<see cref="T:TouchSocket.Core.IRequestInfo"/>将为<see cref="T:TouchSocket.Sockets.Pipeline"/>.
</summary>
</member>
<member name="M:TouchSocket.Sockets.PipelineDataHandlingAdapter.#ctor">
<summary>
管道数据处理适配器。
使用该适配器后,<see cref="T:TouchSocket.Core.IRequestInfo"/>将为<see cref="T:TouchSocket.Sockets.Pipeline"/>.
</summary>
</member>
<member name="M:TouchSocket.Sockets.PipelineDataHandlingAdapter.OnLoaded(System.Object)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.PipelineDataHandlingAdapter.Dispose(System.Boolean)">
<summary>
<inheritdoc/>
</summary>
<param name="disposing"></param>
</member>
<member name="M:TouchSocket.Sockets.PipelineDataHandlingAdapter.PreviewReceived(TouchSocket.Core.ByteBlock)">
<summary>
<inheritdoc/>
</summary>
<param name="byteBlock"></param>
</member>
<member name="M:TouchSocket.Sockets.InternalPipeline.#ctor(TouchSocket.Sockets.ITcpClientBase)">
<summary>
Pipeline读取管道
</summary>
<param name="client"></param>
</member>
<member name="T:TouchSocket.Sockets.TcpDataAdapterTester">
<summary>
Tcp数据处理适配器测试
</summary>
</member>
<member name="T:TouchSocket.Sockets.UdpDataAdapterTester">
<summary>
Udp数据处理适配器测试
</summary>
</member>
<member name="M:TouchSocket.Sockets.UdpDataAdapterTester.CreateTester(TouchSocket.Sockets.UdpDataHandlingAdapter,System.Int32,System.Action{TouchSocket.Core.ByteBlock,TouchSocket.Core.IRequestInfo})">
<summary>
获取测试器
</summary>
<param name="adapter">待测试适配器</param>
<param name="multiThread">并发多线程数量</param>
<param name="receivedCallBack">收到数据回调</param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.UdpDataAdapterTester.Dispose">
<summary>
释放
</summary>
</member>
<member name="M:TouchSocket.Sockets.UdpDataAdapterTester.Run(System.Byte[],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
模拟测试运行发送
</summary>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
<param name="testCount">测试次数</param>
<param name="expectedCount">期待测试次数</param>
<param name="millisecondsTimeout">超时</param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.UdpDataAdapterTester.Run(System.Byte[],System.Int32,System.Int32,System.Int32)">
<summary>
模拟发送
</summary>
<param name="buffer"></param>
<param name="testCount">测试次数</param>
<param name="expectedCount">期待测试次数</param>
<param name="millisecondsTimeout">超时</param>
</member>
<member name="T:TouchSocket.Sockets.NormalUdpDataHandlingAdapter">
<summary>
常规UDP数据处理适配器
</summary>
</member>
<member name="P:TouchSocket.Sockets.NormalUdpDataHandlingAdapter.CanSplicingSend">
<summary>
<inheritdoc/>
</summary>
</member>
<member name="P:TouchSocket.Sockets.NormalUdpDataHandlingAdapter.CanSendRequestInfo">
<summary>
<inheritdoc/>
</summary>
</member>
<member name="M:TouchSocket.Sockets.NormalUdpDataHandlingAdapter.PreviewReceived(System.Net.EndPoint,TouchSocket.Core.ByteBlock)">
<summary>
<inheritdoc/>
</summary>
<param name="remoteEndPoint"></param>
<param name="byteBlock"></param>
</member>
<member name="M:TouchSocket.Sockets.NormalUdpDataHandlingAdapter.PreviewSend(System.Net.EndPoint,System.Byte[],System.Int32,System.Int32)">
<summary>
<inheritdoc/>
</summary>
<param name="endPoint"></param>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
</member>
<member name="M:TouchSocket.Sockets.NormalUdpDataHandlingAdapter.PreviewSend(System.Net.EndPoint,System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.NormalUdpDataHandlingAdapter.PreviewSendAsync(System.Net.EndPoint,System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.NormalUdpDataHandlingAdapter.Reset">
<summary>
<inheritdoc/>
</summary>
</member>
<member name="T:TouchSocket.Sockets.UdpDataHandlingAdapter">
<summary>
Udp数据处理适配器
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpDataHandlingAdapter.ReceivedCallBack">
<summary>
当接收数据处理完成后,回调该函数执行接收
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpDataHandlingAdapter.SendCallBack">
<summary>
当接收数据处理完成后,回调该函数执行发送
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpDataHandlingAdapter.SendCallBackAsync">
<summary>
当接收数据处理完成后,异步回调该函数执行发送
</summary>
</member>
<member name="M:TouchSocket.Sockets.UdpDataHandlingAdapter.ReceivedInput(System.Net.EndPoint,TouchSocket.Core.ByteBlock)">
<summary>
收到数据的切入点,该方法由框架自动调用。
</summary>
<param name="remoteEndPoint"></param>
<param name="byteBlock"></param>
</member>
<member name="P:TouchSocket.Sockets.UdpDataHandlingAdapter.CanSendRequestInfo">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.UdpDataHandlingAdapter.CanSplicingSend">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.UdpDataHandlingAdapter.SendInput(System.Net.EndPoint,System.Byte[],System.Int32,System.Int32)">
<summary>
发送数据的切入点,该方法由框架自动调用。
</summary>
<param name="endPoint"></param>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpDataHandlingAdapter.SendInput(System.Net.EndPoint,TouchSocket.Core.IRequestInfo)">
<summary>
发送数据的切入点,该方法由框架自动调用。
</summary>
<param name="endPoint"></param>
<param name="requestInfo"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpDataHandlingAdapter.SendInput(System.Net.EndPoint,System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<summary>
发送数据的切入点,该方法由框架自动调用。
</summary>
<param name="endPoint"></param>
<param name="transferBytes"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpDataHandlingAdapter.SendInputAsync(System.Net.EndPoint,System.Byte[],System.Int32,System.Int32)">
<summary>
发送数据的切入点,该方法由框架自动调用。
</summary>
<param name="endPoint"></param>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpDataHandlingAdapter.SendInputAsync(System.Net.EndPoint,TouchSocket.Core.IRequestInfo)">
<summary>
发送数据的切入点,该方法由框架自动调用。
</summary>
<param name="endPoint"></param>
<param name="requestInfo"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpDataHandlingAdapter.SendInputAsync(System.Net.EndPoint,System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<summary>
发送数据的切入点,该方法由框架自动调用。
</summary>
<param name="endPoint"></param>
<param name="transferBytes"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpDataHandlingAdapter.GoReceived(System.Net.EndPoint,TouchSocket.Core.ByteBlock,TouchSocket.Core.IRequestInfo)">
<summary>
处理已经经过预先处理后的数据
</summary>
<param name="remoteEndPoint"></param>
<param name="byteBlock">以二进制形式传递</param>
<param name="requestInfo">以解析实例传递</param>
</member>
<member name="M:TouchSocket.Sockets.UdpDataHandlingAdapter.GoSend(System.Net.EndPoint,System.Byte[],System.Int32,System.Int32)">
<summary>
发送已经经过预先处理后的数据
</summary>
<param name="endPoint"></param>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpDataHandlingAdapter.GoSendAsync(System.Net.EndPoint,System.Byte[],System.Int32,System.Int32)">
<summary>
发送已经经过预先处理后的数据
</summary>
<param name="endPoint"></param>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.UdpDataHandlingAdapter.PreviewReceived(System.Net.EndPoint,TouchSocket.Core.ByteBlock)">
<summary>
当接收到数据后预先处理数据,然后调用<see cref="M:TouchSocket.Sockets.UdpDataHandlingAdapter.GoReceived(System.Net.EndPoint,TouchSocket.Core.ByteBlock,TouchSocket.Core.IRequestInfo)"/>处理数据
</summary>
<param name="remoteEndPoint"></param>
<param name="byteBlock"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpDataHandlingAdapter.PreviewSend(System.Net.EndPoint,TouchSocket.Core.IRequestInfo)">
<summary>
当发送数据前预先处理数据
</summary>
<param name="endPoint"></param>
<param name="requestInfo"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpDataHandlingAdapter.PreviewSend(System.Net.EndPoint,System.Byte[],System.Int32,System.Int32)">
<summary>
当发送数据前预先处理数据
</summary>
<param name="endPoint"></param>
<param name="buffer">数据</param>
<param name="offset">偏移</param>
<param name="length">长度</param>
</member>
<member name="M:TouchSocket.Sockets.UdpDataHandlingAdapter.PreviewSend(System.Net.EndPoint,System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<summary>
组合发送预处理数据,
当属性SplicingSend实现为True时系统才会调用该方法。
</summary>
<param name="endPoint"></param>
<param name="transferBytes">代发送数据组合</param>
</member>
<member name="M:TouchSocket.Sockets.UdpDataHandlingAdapter.Reset">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.UdpDataHandlingAdapter.PreviewSendAsync(System.Net.EndPoint,TouchSocket.Core.IRequestInfo)">
<summary>
当发送数据前预先处理数据
</summary>
<param name="endPoint"></param>
<param name="requestInfo"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpDataHandlingAdapter.PreviewSendAsync(System.Net.EndPoint,System.Byte[],System.Int32,System.Int32)">
<summary>
当发送数据前预先处理数据
</summary>
<param name="endPoint"></param>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.UdpDataHandlingAdapter.PreviewSendAsync(System.Net.EndPoint,System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<summary>
组合发送预处理数据,
当属性SplicingSend实现为True时系统才会调用该方法。
</summary>
<param name="endPoint"></param>
<param name="transferBytes"></param>
<exception cref="T:System.NotImplementedException"></exception>
</member>
<member name="T:TouchSocket.Sockets.UdpKcpPackageAdapter">
<summary>
UdpKcpPackageAdapter
</summary>
</member>
<member name="M:TouchSocket.Sockets.UdpKcpPackageAdapter.PreviewReceived(System.Net.EndPoint,TouchSocket.Core.ByteBlock)">
<inheritdoc/>
</member>
<member name="T:TouchSocket.Sockets.UdpFrame">
<summary>
UDP数据帧
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpFrame.Crc">
<summary>
Crc校验
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpFrame.Data">
<summary>
数据
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpFrame.FIN">
<summary>
是否为终结帧
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpFrame.Id">
<summary>
数据Id
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpFrame.SN">
<summary>
帧序号
</summary>
</member>
<member name="M:TouchSocket.Sockets.UdpFrame.Parse(System.Byte[],System.Int32,System.Int32)">
<summary>
解析
</summary>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.UdpPackage">
<summary>
UDP数据包
</summary>
</member>
<member name="M:TouchSocket.Sockets.UdpPackage.#ctor(System.Int64,System.Int32,System.Collections.Concurrent.ConcurrentDictionary{System.Int64,TouchSocket.Sockets.UdpPackage})">
<summary>
构造函数
</summary>
<param name="id"></param>
<param name="millisecondsTimeout"></param>
<param name="revStore"></param>
</member>
<member name="P:TouchSocket.Sockets.UdpPackage.Count">
<summary>
当前长度
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpPackage.Crc">
<summary>
Crc
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpPackage.Id">
<summary>
包唯一标识
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpPackage.IsComplated">
<summary>
是否已完成
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpPackage.Length">
<summary>
当前数据长度
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpPackage.MTU">
<summary>
MTU
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpPackage.TotalCount">
<summary>
总长度,在收到最后一帧之前,为-1。
</summary>
</member>
<member name="M:TouchSocket.Sockets.UdpPackage.Add(TouchSocket.Sockets.UdpFrame)">
<summary>
添加帧
</summary>
<param name="frame"></param>
</member>
<member name="M:TouchSocket.Sockets.UdpPackage.TryGetData(TouchSocket.Core.ByteBlock)">
<summary>
获得数据
</summary>
<param name="byteBlock"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.UdpPackageAdapter">
<summary>
UDP数据包的适配器
</summary>
</member>
<member name="M:TouchSocket.Sockets.UdpPackageAdapter.#ctor">
<summary>
构造函数
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpPackageAdapter.CanSendRequestInfo">
<summary>
<inheritdoc/>
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpPackageAdapter.CanSplicingSend">
<summary>
<inheritdoc/>
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpPackageAdapter.MTU">
<summary>
最大传输单元
</summary>
</member>
<member name="P:TouchSocket.Sockets.UdpPackageAdapter.Timeout">
<summary>
接收超时时间默认5000ms
</summary>
</member>
<member name="M:TouchSocket.Sockets.UdpPackageAdapter.PreviewReceived(System.Net.EndPoint,TouchSocket.Core.ByteBlock)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.UdpPackageAdapter.PreviewSendAsync(System.Net.EndPoint,System.Byte[],System.Int32,System.Int32)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.UdpPackageAdapter.PreviewSend(System.Net.EndPoint,System.Byte[],System.Int32,System.Int32)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.UdpPackageAdapter.PreviewSend(System.Net.EndPoint,System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.UdpPackageAdapter.PreviewSendAsync(System.Net.EndPoint,System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<inheritdoc/>
</member>
<member name="T:TouchSocket.Sockets.ConnectedEventHandler`1">
<summary>
Connected
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="e"></param>
</member>
<member name="T:TouchSocket.Sockets.ConnectingEventHandler`1">
<summary>
Connecting
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="e"></param>
</member>
<member name="T:TouchSocket.Sockets.DisconnectEventHandler`1">
<summary>
客户端断开连接
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="e"></param>
</member>
<member name="T:TouchSocket.Sockets.ReceivedEventHandler`1">
<summary>
接收数据
</summary>
<param name="client"></param>
<param name="e"></param>
</member>
<member name="T:TouchSocket.Sockets.UdpReceivedEventHandler`1">
<summary>
Udp接收
</summary>
</member>
<member name="T:TouchSocket.Sockets.CheckClearType">
<summary>
检查清理类型
</summary>
</member>
<member name="F:TouchSocket.Sockets.CheckClearType.OnlySend">
<summary>
仅统计发送
</summary>
</member>
<member name="F:TouchSocket.Sockets.CheckClearType.OnlyReceive">
<summary>
仅统计接收
</summary>
</member>
<member name="F:TouchSocket.Sockets.CheckClearType.All">
<summary>
全部
</summary>
</member>
<member name="T:TouchSocket.Sockets.ServerState">
<summary>
服务器状态
</summary>
</member>
<member name="F:TouchSocket.Sockets.ServerState.None">
<summary>
无状态,指示为初建
</summary>
</member>
<member name="F:TouchSocket.Sockets.ServerState.Running">
<summary>
正在运行
</summary>
</member>
<member name="F:TouchSocket.Sockets.ServerState.Exception">
<summary>
运行遇到异常
</summary>
</member>
<member name="F:TouchSocket.Sockets.ServerState.Stopped">
<summary>
已停止
</summary>
</member>
<member name="F:TouchSocket.Sockets.ServerState.Disposed">
<summary>
已释放
</summary>
</member>
<member name="T:TouchSocket.Sockets.ByteBlockEventArgs">
<summary>
字节事件
</summary>
</member>
<member name="M:TouchSocket.Sockets.ByteBlockEventArgs.#ctor(TouchSocket.Core.ByteBlock)">
<summary>
构造函数
</summary>
</member>
<member name="P:TouchSocket.Sockets.ByteBlockEventArgs.ByteBlock">
<summary>
数据块
</summary>
</member>
<member name="T:TouchSocket.Sockets.BytesEventArgs">
<summary>
字节事件
</summary>
</member>
<member name="M:TouchSocket.Sockets.BytesEventArgs.#ctor(System.Byte[])">
<summary>
构造函数
</summary>
<param name="data"></param>
</member>
<member name="P:TouchSocket.Sockets.BytesEventArgs.ReceivedDataBytes">
<summary>
字节数组
</summary>
</member>
<member name="T:TouchSocket.Sockets.ConnectedEventArgs">
<summary>
ConnectedEventArgs
</summary>
</member>
<member name="T:TouchSocket.Sockets.ConnectingEventArgs">
<summary>
客户端连接事件。
</summary>
</member>
<member name="M:TouchSocket.Sockets.ConnectingEventArgs.#ctor(System.Net.Sockets.Socket)">
<summary>
构造函数
</summary>
<param name="socket"></param>
</member>
<member name="P:TouchSocket.Sockets.ConnectingEventArgs.Id">
<summary>
客户端Id。该Id的赋值仅在服务器适用。
</summary>
</member>
<member name="P:TouchSocket.Sockets.ConnectingEventArgs.Socket">
<summary>
新初始化的通信器
</summary>
</member>
<member name="T:TouchSocket.Sockets.DisconnectEventArgs">
<summary>
断开连接事件参数
</summary>
</member>
<member name="M:TouchSocket.Sockets.DisconnectEventArgs.#ctor(System.Boolean,System.String)">
<summary>
构造函数
</summary>
<param name="manual"></param>
<param name="mes"></param>
</member>
<member name="P:TouchSocket.Sockets.DisconnectEventArgs.Manual">
<summary>
是否为主动行为。
</summary>
</member>
<member name="T:TouchSocket.Sockets.IdChangedEventArgs">
<summary>
IdChangedEventArgs
</summary>
</member>
<member name="M:TouchSocket.Sockets.IdChangedEventArgs.#ctor(System.String,System.String)">
<summary>
IdChangedEventArgs
</summary>
<param name="oldId"></param>
<param name="newId"></param>
</member>
<member name="P:TouchSocket.Sockets.IdChangedEventArgs.OldId">
<summary>
旧Id
</summary>
</member>
<member name="P:TouchSocket.Sockets.IdChangedEventArgs.NewId">
<summary>
新Id
</summary>
</member>
<member name="T:TouchSocket.Sockets.ReceivedDataEventArgs">
<summary>
插件处理事件
</summary>
</member>
<member name="M:TouchSocket.Sockets.ReceivedDataEventArgs.#ctor(TouchSocket.Core.ByteBlock,TouchSocket.Core.IRequestInfo)">
<summary>
构造函数
</summary>
<param name="byteBlock"></param>
<param name="requestInfo"></param>
</member>
<member name="P:TouchSocket.Sockets.ReceivedDataEventArgs.RequestInfo">
<summary>
对象载体
</summary>
</member>
<member name="T:TouchSocket.Sockets.SendingEventArgs">
<summary>
发送事件
</summary>
</member>
<member name="M:TouchSocket.Sockets.SendingEventArgs.#ctor(System.Byte[],System.Int32,System.Int32)">
<summary>
构造函数
</summary>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
</member>
<member name="P:TouchSocket.Sockets.SendingEventArgs.Buffer">
<summary>
数据缓存区,该属性获取来自于内存池,所以最好不要引用该对象,可以同步使用该对象
</summary>
</member>
<member name="P:TouchSocket.Sockets.SendingEventArgs.Offset">
<summary>
缓存偏移
</summary>
</member>
<member name="P:TouchSocket.Sockets.SendingEventArgs.Length">
<summary>
数据长度
</summary>
</member>
<member name="T:TouchSocket.Sockets.ServiceStateEventArgs">
<summary>
服务器状态事件参数
</summary>
</member>
<member name="M:TouchSocket.Sockets.ServiceStateEventArgs.#ctor(TouchSocket.Sockets.ServerState,System.Exception)">
<summary>
服务器状态事件参数
</summary>
<param name="serverState"></param>
<param name="exception"></param>
</member>
<member name="P:TouchSocket.Sockets.ServiceStateEventArgs.ServerState">
<summary>
服务器状态
</summary>
</member>
<member name="P:TouchSocket.Sockets.ServiceStateEventArgs.Exception">
<summary>
异常类
</summary>
</member>
<member name="T:TouchSocket.Sockets.UdpReceivedDataEventArgs">
<summary>
Udp接收消息
</summary>
</member>
<member name="M:TouchSocket.Sockets.UdpReceivedDataEventArgs.#ctor(System.Net.EndPoint,TouchSocket.Core.ByteBlock,TouchSocket.Core.IRequestInfo)">
<summary>
构造函数
</summary>
<param name="endPoint"></param>
<param name="byteBlock"></param>
<param name="requestInfo"></param>
</member>
<member name="P:TouchSocket.Sockets.UdpReceivedDataEventArgs.EndPoint">
<summary>
接收终结点
</summary>
</member>
<member name="T:TouchSocket.Sockets.ClientNotFindException">
<summary>
没有找到Id对应的客户端
</summary>
</member>
<member name="M:TouchSocket.Sockets.ClientNotFindException.#ctor">
<summary>
构造函数
</summary>
</member>
<member name="M:TouchSocket.Sockets.ClientNotFindException.#ctor(System.String)">
<summary>
构造函数
</summary>
<param name="message"></param>
</member>
<member name="M:TouchSocket.Sockets.ClientNotFindException.#ctor(System.String,System.Exception)">
<summary>
构造函数
</summary>
<param name="message"></param>
<param name="inner"></param>
</member>
<member name="M:TouchSocket.Sockets.ClientNotFindException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
构造函数
</summary>
<param name="info"></param>
<param name="context"></param>
</member>
<member name="T:TouchSocket.Sockets.NotConnectedException">
<summary>
未连接异常
</summary>
</member>
<member name="M:TouchSocket.Sockets.NotConnectedException.#ctor">
<summary>
构造函数
</summary>
</member>
<member name="M:TouchSocket.Sockets.NotConnectedException.#ctor(System.String)">
<summary>
构造函数
</summary>
<param name="message"></param>
</member>
<member name="M:TouchSocket.Sockets.NotConnectedException.#ctor(System.String,System.Exception)">
<summary>
构造函数
</summary>
<param name="message"></param>
<param name="inner"></param>
</member>
<member name="M:TouchSocket.Sockets.NotConnectedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
构造函数
</summary>
<param name="info"></param>
<param name="context"></param>
</member>
<member name="T:TouchSocket.Sockets.ClientExtension">
<summary>
客户端扩展类
</summary>
</member>
<member name="M:TouchSocket.Sockets.ClientExtension.GetInfo``1(``0)">
<summary>
获取相关信息。格式:
<para>IPPort=IP:Port,Id=id,Protocol=Protocol</para>
</summary>
<typeparam name="T"></typeparam>
<param name="client"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ClientExtension.GetIPPort``1(``0)">
<summary>
获取IP和端口。
</summary>
<typeparam name="T"></typeparam>
<param name="client"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ClientExtension.GetLastActiveTime``1(``0)">
<summary>
获取最后活动时间。即<see cref="P:TouchSocket.Sockets.IClient.LastReceivedTime"/><see cref="P:TouchSocket.Sockets.IClient.LastSendTime"/>的最近值。
</summary>
<typeparam name="T"></typeparam>
<param name="client"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ClientExtension.GetOtherIds``1(``0)">
<summary>
获取服务器中除自身以外的所有客户端id
</summary>
<typeparam name="T"></typeparam>
<param name="client"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ClientExtension.TryShutdown``1(``0,System.Net.Sockets.SocketShutdown)">
<summary>
安全性发送关闭报文
</summary>
<typeparam name="T"></typeparam>
<param name="client"></param>
<param name="how"></param>
</member>
<member name="T:TouchSocket.Sockets.CloseObjectExtension">
<summary>
CloseObjectExtension
</summary>
</member>
<member name="M:TouchSocket.Sockets.CloseObjectExtension.Close``1(``0)">
<summary>
<inheritdoc cref="M:TouchSocket.Sockets.ICloseObject.Close(System.String)"/>
</summary>
<typeparam name="T"></typeparam>
<param name="client"></param>
</member>
<member name="M:TouchSocket.Sockets.CloseObjectExtension.SafeClose``1(``0,System.String)">
<summary>
安全性关闭。不会抛出异常。
</summary>
<typeparam name="T"></typeparam>
<param name="client"></param>
<param name="msg"></param>
</member>
<member name="M:TouchSocket.Sockets.CloseObjectExtension.SafeClose``1(``0)">
<summary>
安全性关闭。不会抛出异常。
</summary>
<typeparam name="T"></typeparam>
<param name="client"></param>
</member>
<member name="T:TouchSocket.Sockets.ConnectObjectExtension">
<summary>
ConnectObjectExtension
</summary>
</member>
<member name="M:TouchSocket.Sockets.ConnectObjectExtension.Connect(TouchSocket.Sockets.IConnectObject,System.Int32)">
<inheritdoc cref="M:TouchSocket.Sockets.IConnectObject.Connect(System.Int32,System.Threading.CancellationToken)"/>
</member>
<member name="M:TouchSocket.Sockets.ConnectObjectExtension.Connect``1(``0,TouchSocket.Sockets.IPHost,System.Int32)">
<inheritdoc cref="M:TouchSocket.Sockets.IConnectObject.Connect(System.Int32,System.Threading.CancellationToken)"/>
</member>
<member name="M:TouchSocket.Sockets.ConnectObjectExtension.ConnectAsync(TouchSocket.Sockets.IConnectObject,System.Int32)">
<inheritdoc cref="M:TouchSocket.Sockets.IConnectObject.ConnectAsync(System.Int32,System.Threading.CancellationToken)"/>
</member>
<member name="M:TouchSocket.Sockets.ConnectObjectExtension.ConnectAsync``1(``0,TouchSocket.Sockets.IPHost,System.Int32)">
<inheritdoc cref="M:TouchSocket.Sockets.IConnectObject.ConnectAsync(System.Int32,System.Threading.CancellationToken)"/>
</member>
<member name="M:TouchSocket.Sockets.ConnectObjectExtension.TryConnect(TouchSocket.Sockets.IConnectObject,System.Int32)">
<summary>
尝试连接。不会抛出异常。
</summary>
<param name="client"></param>
<param name="millisecondsTimeout"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ConnectObjectExtension.TryConnect``1(``0,System.Int32)">
<summary>
尝试连接。不会抛出异常。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="millisecondsTimeout"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ConnectObjectExtension.TryConnectAsync(TouchSocket.Sockets.IConnectObject,System.Int32)">
<summary>
尝试连接。不会抛出异常。
</summary>
<param name="client"></param>
<param name="millisecondsTimeout"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ConnectObjectExtension.TryConnectAsync``1(``0,System.Int32)">
<summary>
尝试连接。不会抛出异常。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="millisecondsTimeout"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.SenderExtension">
<summary>
SenderExtension
</summary>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.Send``1(``0,System.Byte[])">
<summary>
同步发送数据。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="buffer"></param>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.Send``1(``0,TouchSocket.Core.ByteBlock)">
<summary>
同步发送数据。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="byteBlock"></param>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.Send``1(``0,System.String)">
<summary>
以UTF-8的编码同步发送字符串。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="value"></param>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.SendAsync``1(``0,System.Byte[])">
<summary>
异步发送数据。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="buffer"></param>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.SendAsync``1(``0,System.String)">
<summary>
以UTF-8的编码异步发送字符串。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="value"></param>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.DefaultSend``1(``0,System.String)">
<summary>
以UTF-8的编码同步发送字符串。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="value"></param>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.DefaultSend``1(``0,System.Byte[])">
<summary>
同步发送数据。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="buffer"></param>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.DefaultSend``1(``0,TouchSocket.Core.ByteBlock)">
<summary>
同步发送数据。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="byteBlock"></param>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.DefaultSendAsync``1(``0,System.String)">
<summary>
以UTF-8的编码异步发送字符串。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="value"></param>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.DefaultSendAsync``1(``0,System.Byte[])">
<summary>
异步发送数据。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="buffer"></param>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.Send``1(``0,System.String,System.String)">
<summary>
以UTF-8的编码同步发送字符串。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="id"></param>
<param name="value"></param>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.Send``1(``0,System.String,System.Byte[])">
<summary>
同步发送数据。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="id"></param>
<param name="buffer"></param>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.Send``1(``0,System.String,TouchSocket.Core.ByteBlock)">
<summary>
同步发送数据。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="id"></param>
<param name="byteBlock"></param>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.SendAsync``1(``0,System.String,System.String)">
<summary>
以UTF-8的编码异步发送字符串。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="id"></param>
<param name="value"></param>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.SendAsync``1(``0,System.String,System.Byte[])">
<summary>
异步发送数据。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="id"></param>
<param name="buffer"></param>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.DefaultSend``1(``0,System.Net.EndPoint,System.String)">
<summary>
以UTF-8的编码同步发送字符串。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="endPoint"></param>
<param name="value"></param>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.DefaultSend``1(``0,System.Net.EndPoint,System.Byte[])">
<summary>
绕过适配器,直接发送字节流
</summary>
<param name="client"></param>
<param name="endPoint">目的终结点</param>
<param name="buffer">数据区</param>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.DefaultSendAsync``1(``0,System.Net.EndPoint,System.String)">
<summary>
以UTF-8的编码异步发送字符串。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="endPoint"></param>
<param name="value"></param>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.DefaultSendAsync``1(``0,System.Net.EndPoint,System.Byte[])">
<summary>
绕过适配器,直接发送字节流
</summary>
<param name="client"></param>
<param name="endPoint">目的终结点</param>
<param name="buffer">数据缓存区</param>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.DefaultSendAsync``1(``0,System.Net.EndPoint,TouchSocket.Core.ByteBlock)">
<summary>
绕过适配器,直接发送字节流
</summary>
<param name="client"></param>
<param name="endPoint">目的终结点</param>
<param name="byteBlock"></param>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.Send``1(``0,System.Net.EndPoint,System.String)">
<summary>
以UTF-8的编码同步发送字符串。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="endPoint"></param>
<param name="value"></param>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.Send``1(``0,System.Net.EndPoint,System.Byte[])">
<summary>
发送字节流
</summary>
<param name="client"></param>
<param name="endPoint">目的终结点</param>
<param name="buffer">数据区</param>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.Send``1(``0,System.Net.EndPoint,TouchSocket.Core.ByteBlock)">
<summary>
发送字节流
</summary>
<param name="client"></param>
<param name="endPoint">目的终结点</param>
<param name="byteBlock">数据区</param>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.SendAsync``1(``0,System.Net.EndPoint,System.String)">
<summary>
以UTF-8的编码异步发送字符串。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="endPoint"></param>
<param name="value"></param>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.SendAsync``1(``0,System.Net.EndPoint,System.Byte[])">
<summary>
发送字节流
</summary>
<param name="client"></param>
<param name="endPoint">目的终结点</param>
<param name="buffer">数据缓存区</param>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.SendThenReturn(TouchSocket.Sockets.IWaitSender,System.String,System.Int32)">
<summary>
发送字节流
</summary>
<param name="client"></param>
<param name="msg"></param>
<param name="millisecondsTimeout"></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.SendThenReturn(TouchSocket.Sockets.IWaitSender,System.Byte[],System.Int32)">
<summary>
发送字节流
</summary>
<param name="client"></param>
<param name="buffer">数据缓存区</param>
<param name="millisecondsTimeout"></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.SendThenReturn(TouchSocket.Sockets.IWaitSender,System.Byte[],System.Int32,System.Int32,System.Int32)">
<summary>
发送字节流
</summary>
<param name="client">客户端</param>
<param name="buffer">数据缓存区</param>
<param name="offset">数据偏移</param>
<param name="length">数据长度</param>
<param name="millisecondsTimeout">超时时间</param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.SendThenReturn(TouchSocket.Sockets.IWaitSender,TouchSocket.Core.ByteBlock,System.Int32)">
<summary>
发送流中的有效数据
</summary>
<param name="client"></param>
<param name="byteBlock">数据块载体</param>
<param name="millisecondsTimeout"></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.SendThenReturn(TouchSocket.Sockets.IWaitSender,System.Byte[],System.Threading.CancellationToken)">
<summary>
发送字节流
</summary>
<param name="client"></param>
<param name="buffer">数据缓存区</param>
<param name="token">取消令箭</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.SendThenReturn(TouchSocket.Sockets.IWaitSender,TouchSocket.Core.ByteBlock,System.Threading.CancellationToken)">
<summary>
发送流中的有效数据
</summary>
<param name="client"></param>
<param name="byteBlock">数据块载体</param>
<param name="token">取消令箭</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.SendThenReturnAsync(TouchSocket.Sockets.IWaitSender,System.Byte[],System.Int32)">
<summary>
异步发送
</summary>
<param name="client"></param>
<param name="buffer">数据缓存区</param>
<param name="millisecondsTimeout"></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.SendThenReturnAsync(TouchSocket.Sockets.IWaitSender,System.String,System.Int32)">
<summary>
异步发送
</summary>
<param name="client"></param>
<param name="msg"></param>
<param name="millisecondsTimeout"></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.SendThenReturnAsync(TouchSocket.Sockets.IWaitSender,System.Byte[],System.Threading.CancellationToken)">
<summary>
异步发送
</summary>
<param name="client"></param>
<param name="buffer">数据缓存区</param>
<param name="token">取消令箭</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="M:TouchSocket.Sockets.SenderExtension.SendThenReturnAsync(TouchSocket.Sockets.IWaitSender,System.Byte[],System.Int32,System.Int32,System.Int32)">
<summary>
异步发送并等待响应数据
</summary>
<param name="client">客户端</param>
<param name="buffer">数据缓存区</param>
<param name="offset">数据偏移</param>
<param name="length">数据长度</param>
<param name="millisecondsTimeout">超时时间</param>
<returns></returns>
<exception cref="T:System.TimeoutException"></exception>
</member>
<member name="T:TouchSocket.Sockets.ServiceExtension">
<summary>
ServiceExtension
</summary>
</member>
<member name="M:TouchSocket.Sockets.ServiceExtension.Start``1(``0,TouchSocket.Sockets.IPHost[])">
<inheritdoc cref="M:TouchSocket.Sockets.IService.Start"/>
</member>
<member name="M:TouchSocket.Sockets.ServiceExtension.StartAsync``1(``0,TouchSocket.Sockets.IPHost[])">
<inheritdoc cref="M:TouchSocket.Sockets.IService.StartAsync"/>
</member>
<member name="M:TouchSocket.Sockets.ServiceExtension.Start``1(``0,TouchSocket.Sockets.IPHost)">
<inheritdoc cref="M:TouchSocket.Sockets.IService.Start"/>
</member>
<member name="M:TouchSocket.Sockets.ServiceExtension.StartAsync``1(``0,TouchSocket.Sockets.IPHost)">
<inheritdoc cref="M:TouchSocket.Sockets.IService.Start"/>
</member>
<member name="T:TouchSocket.Sockets.SocketExtension">
<summary>
SocketExtension
</summary>
</member>
<member name="M:TouchSocket.Sockets.SocketExtension.AbsoluteSend(System.Net.Sockets.Socket,System.Byte[],System.Int32,System.Int32)">
<summary>
会使用同步锁,保证所有数据上缓存区。
</summary>
<param name="socket"></param>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
</member>
<member name="M:TouchSocket.Sockets.SocketExtension.TryClose(System.Net.Sockets.Socket)">
<summary>
尝试关闭<see cref="T:System.Net.Sockets.Socket"/>。不会抛出异常。
</summary>
<param name="socket"></param>
</member>
<member name="T:TouchSocket.Sockets.SocketPluginManagerExtension">
<summary>
SocketPluginManagerExtension
</summary>
</member>
<member name="M:TouchSocket.Sockets.SocketPluginManagerExtension.UseCheckClear(TouchSocket.Core.IPluginManager)">
<summary>
检查连接客户端活性插件。
<para>当在设置的周期内,没有接收/发送任何数据则判定该客户端掉线。执行清理。默认配置60秒为一个周期同时检测发送和接收。</para>
服务器、客户端均适用。
</summary>
<param name="pluginManager"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.SocketPluginManagerExtension.UseCheckClear``1(TouchSocket.Core.IPluginManager)">
<summary>
检查连接客户端活性插件。
<para>当在设置的周期内,没有接收/发送任何数据则判定该客户端掉线。执行清理。默认配置60秒为一个周期同时检测发送和接收。</para>
服务器、客户端均适用。
</summary>
<param name="pluginManager"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.SocketPluginManagerExtension.UseReconnection``1(TouchSocket.Core.IPluginManager)">
<summary>
使用断线重连。
</summary>
<typeparam name="TClient"></typeparam>
<param name="pluginManager"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.SocketPluginManagerExtension.UseReconnection(TouchSocket.Core.IPluginManager,System.Int32,System.Boolean,System.Int32,System.Action{TouchSocket.Sockets.ITcpClient})">
<summary>
使用断线重连。
<para>该效果仅客户端在完成首次连接,且为被动断开时有效。</para>
</summary>
<param name="pluginManager"></param>
<param name="successCallback">成功回调函数</param>
<param name="tryCount">尝试重连次数,设为-1时则永远尝试连接</param>
<param name="printLog">是否输出日志。</param>
<param name="sleepTime">失败时,停留时间</param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.SocketPluginManagerExtension.UseReconnection(TouchSocket.Core.IPluginManager,System.TimeSpan,System.Func{TouchSocket.Sockets.ITcpClient,System.Int32,System.Exception,System.Boolean},System.Action{TouchSocket.Sockets.ITcpClient})">
<summary>
使用断线重连。
<para>该效果仅客户端在完成首次连接,且为被动断开时有效。</para>
</summary>
<param name="pluginManager"></param>
<param name="sleepTime">失败时间隔时间</param>
<param name="failCallback">失败时回调参数依次为客户端本轮尝试重连次数异常信息。如果回调为null或者返回false则终止尝试下次连接。</param>
<param name="successCallback">成功连接时回调。</param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.TouchSocketConfigExtension">
<summary>
TouchSocketConfigExtension
</summary>
</member>
<member name="F:TouchSocket.Sockets.TouchSocketConfigExtension.SendTimeoutProperty">
<summary>
发送超时设定默认为0。
所需类型<see cref="T:System.Int32"/>
</summary>
</member>
<member name="F:TouchSocket.Sockets.TouchSocketConfigExtension.TcpDataHandlingAdapterProperty">
<summary>
数据处理适配器,默认为获取<see cref="T:TouchSocket.Core.NormalDataHandlingAdapter"/>
所需类型<see cref="T:System.Func`1"/>
</summary>
</member>
<member name="F:TouchSocket.Sockets.TouchSocketConfigExtension.UdpDataHandlingAdapterProperty">
<summary>
数据处理适配器,默认为获取<see cref="T:TouchSocket.Sockets.UdpDataHandlingAdapter"/>
所需类型<see cref="T:System.Func`1"/>
</summary>
</member>
<member name="F:TouchSocket.Sockets.TouchSocketConfigExtension.MinBufferSizeProperty">
<summary>
最小缓存池尺寸
所需类型<see cref="T:System.Int32"/>
</summary>
</member>
<member name="F:TouchSocket.Sockets.TouchSocketConfigExtension.MaxBufferSizeProperty">
<summary>
最大缓存池尺寸
所需类型<see cref="T:System.Int32"/>
</summary>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.MinBufferSize(TouchSocket.Core.TouchSocketConfig,System.Int32)">
<summary>
最小缓存容量,默认缺省。
<list type="number">
</list>
</summary>
<param name="config"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.MaxBufferSize(TouchSocket.Core.TouchSocketConfig,System.Int32)">
<summary>
最大缓存容量,默认缺省。
<list type="number">
</list>
</summary>
<param name="config"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.SetSendTimeout(TouchSocket.Core.TouchSocketConfig,System.Int32)">
<summary>
发送超时设定单位毫秒默认为0。意为禁用该配置。
</summary>
<param name="config"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.SetTcpDataHandlingAdapter(TouchSocket.Core.TouchSocketConfig,System.Func{TouchSocket.Core.SingleStreamDataHandlingAdapter})">
<summary>
设置(Tcp系)数据处理适配器。
</summary>
<param name="config"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.SetUdpDataHandlingAdapter(TouchSocket.Core.TouchSocketConfig,System.Func{TouchSocket.Sockets.UdpDataHandlingAdapter})">
<summary>
设置(Udp系)数据处理适配器。
</summary>
<param name="config"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="F:TouchSocket.Sockets.TouchSocketConfigExtension.ServerNameProperty">
<summary>
服务名称,用于标识,无实际意义,所需类型<see cref="T:System.String"/>
</summary>
</member>
<member name="F:TouchSocket.Sockets.TouchSocketConfigExtension.ThreadCountProperty">
<summary>
多线程数量。默认-1缺省。
<para>UDP模式中该值为重叠IO并发数</para>
所需类型<see cref="T:System.Int32"/>
</summary>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.SetServerName(TouchSocket.Core.TouchSocketConfig,System.String)">
<summary>
服务名称,用于标识,无实际意义
</summary>
<param name="config"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.SetThreadCount(TouchSocket.Core.TouchSocketConfig,System.Int32)">
<summary>
多线程数量,默认为-1缺省实际上在udp中相当于1。
<para>UDP模式中该值为重叠IO并发数</para>
</summary>
<param name="config"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="F:TouchSocket.Sockets.TouchSocketConfigExtension.BindIPHostProperty">
<summary>
Tcp固定端口绑定
所需类型<see cref="T:TouchSocket.Sockets.IPHost"/>
</summary>
</member>
<member name="F:TouchSocket.Sockets.TouchSocketConfigExtension.DelaySenderProperty">
<summary>
是否使用延迟合并发送。默认null。不开启
所需类型<see cref="T:TouchSocket.Sockets.DelaySenderOption"/>
</summary>
</member>
<member name="F:TouchSocket.Sockets.TouchSocketConfigExtension.KeepAliveValueProperty">
<summary>
在Socket配置KeepAlive属性这个是操作tcp底层的如果你对底层不了解建议不要动。
所需类型<see cref="T:System.Boolean"/>
</summary>
</member>
<member name="F:TouchSocket.Sockets.TouchSocketConfigExtension.NoDelayProperty">
<summary>
设置Socket不使用Delay算法
所需类型<see cref="T:System.Boolean"/>
</summary>
</member>
<member name="F:TouchSocket.Sockets.TouchSocketConfigExtension.RemoteIPHostProperty">
<summary>
远程目标地址,所需类型<see cref="T:TouchSocket.Sockets.IPHost"/>
</summary>
</member>
<member name="F:TouchSocket.Sockets.TouchSocketConfigExtension.SslOptionProperty">
<summary>
Ssl配置为Null时则不启用
所需类型<see cref="T:TouchSocket.Sockets.SslOption"/>
</summary>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.SetBindIPHost(TouchSocket.Core.TouchSocketConfig,TouchSocket.Sockets.IPHost)">
<summary>
固定端口绑定。
<para><see cref="T:TouchSocket.Sockets.UdpSessionBase"/>中表示本地监听地址</para>
<para><see cref="T:TouchSocket.Sockets.TcpClientBase"/>中表示固定客户端端口号。</para>
</summary>
<param name="config"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.SetClientSslOption(TouchSocket.Core.TouchSocketConfig,TouchSocket.Sockets.ClientSslOption)">
<summary>
设置客户端Ssl配置为Null时则不启用。
</summary>
<param name="config"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.SetKeepAliveValue(TouchSocket.Core.TouchSocketConfig,TouchSocket.Sockets.KeepAliveValue)">
<summary>
在Socket的KeepAlive属性。
<para>注意这个是操作tcp底层的如果你对底层不了解建议不要动。</para>
</summary>
<param name="config"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.SetRemoteIPHost(TouchSocket.Core.TouchSocketConfig,TouchSocket.Sockets.IPHost)">
<summary>
设置远程目标地址。在<see cref="T:TouchSocket.Sockets.UdpSessionBase"/>中,表示默认发送时的目标地址。
</summary>
<param name="config"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.UseDelaySender(TouchSocket.Core.TouchSocketConfig,TouchSocket.Sockets.DelaySenderOption)">
<summary>
使用默认配置延迟合并发送。
所需类型<see cref="T:TouchSocket.Sockets.DelaySenderOption"/>
</summary>
<param name="config"></param>
<param name="option"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.SetNoDelay(TouchSocket.Core.TouchSocketConfig,System.Boolean)">
<summary>
设置Socket的NoDelay属性默认不做处理。
</summary>
<param name="config"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="F:TouchSocket.Sockets.TouchSocketConfigExtension.BacklogProperty">
<summary>
挂起连接队列的最大长度,所需类型<see cref="T:System.Int32"/>
</summary>
</member>
<member name="F:TouchSocket.Sockets.TouchSocketConfigExtension.GetDefaultNewIdProperty">
<summary>
设置默认Id的获取方式所需类型<see cref="T:System.Func`2"/>
</summary>
</member>
<member name="F:TouchSocket.Sockets.TouchSocketConfigExtension.ListenIPHostsProperty">
<summary>
服务器负责监听的地址组。所需类型<see cref="T:TouchSocket.Sockets.IPHost"/>数组
</summary>
</member>
<member name="F:TouchSocket.Sockets.TouchSocketConfigExtension.ListenOptionsProperty">
<summary>
直接单个配置服务器监听的地址组。所需类型<see cref="T:System.Action"/>
</summary>
</member>
<member name="F:TouchSocket.Sockets.TouchSocketConfigExtension.MaxCountProperty">
<summary>
最大可连接数默认为10000所需类型<see cref="T:System.Int32"/>
</summary>
</member>
<member name="F:TouchSocket.Sockets.TouchSocketConfigExtension.ReuseAddressProperty">
<summary>
端口复用默认为false所需类型<see cref="T:System.Boolean"/>
</summary>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.SetBacklog(TouchSocket.Core.TouchSocketConfig,System.Int32)">
<summary>
挂起连接队列的最大长度,默认不设置值。
</summary>
<param name="config"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.SetGetDefaultNewId(TouchSocket.Core.TouchSocketConfig,System.Func{System.String})">
<summary>
设置Tcp服务器默认Id的获取方式。仅服务器生效。
</summary>
<param name="config"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.SetListenIPHosts(TouchSocket.Core.TouchSocketConfig,TouchSocket.Sockets.IPHost[])">
<summary>
服务器负责监听的地址组。
</summary>
<param name="config"></param>
<param name="values"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.SetListenOptions(TouchSocket.Core.TouchSocketConfig,System.Action{System.Collections.Generic.List{TouchSocket.Sockets.TcpListenOption}})">
<summary>
直接单个配置服务器监听的地址组。
</summary>
<param name="config"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.SetMaxCount(TouchSocket.Core.TouchSocketConfig,System.Int32)">
<summary>
最大可连接数默认为10000。
</summary>
<param name="config"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.SetServiceSslOption(TouchSocket.Core.TouchSocketConfig,TouchSocket.Sockets.ServiceSslOption)">
<summary>
设置客户端Ssl配置为Null时则不启用。
</summary>
<param name="config"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.UseReuseAddress(TouchSocket.Core.TouchSocketConfig)">
<summary>
启用端口复用。
<para>该配置可在服务器、或客户端在监听端口时,运行监听同一个端口。可以一定程度缓解端口来不及释放的问题</para>
</summary>
<param name="config"></param>
<returns></returns>
</member>
<member name="F:TouchSocket.Sockets.TouchSocketConfigExtension.EnableBroadcastProperty">
<summary>
该值指定 System.Net.Sockets.Socket可以发送或接收广播数据包。
</summary>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.UseBroadcast(TouchSocket.Core.TouchSocketConfig)">
<summary>
该值指定 System.Net.Sockets.Socket可以发送或接收广播数据包。
</summary>
<param name="config"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.UseUdpReceive(TouchSocket.Core.TouchSocketConfig)">
<summary>
当udp作为客户端时开始接收数据。起作用相当于<see cref="M:TouchSocket.Sockets.TouchSocketConfigExtension.SetBindIPHost(TouchSocket.Core.TouchSocketConfig,TouchSocket.Sockets.IPHost)"/>随机端口。
</summary>
<param name="config"></param>
<returns></returns>
</member>
<member name="F:TouchSocket.Sockets.TouchSocketConfigExtension.UdpConnResetProperty">
<summary>
解决Windows下UDP连接被重置错误10054。
</summary>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.UseUdpConnReset(TouchSocket.Core.TouchSocketConfig)">
<summary>
解决Windows下UDP连接被重置错误10054。
</summary>
<param name="config"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.BuildClient``1(TouchSocket.Core.TouchSocketConfig)">
<summary>
构建可配置,可连接类客户端,并连接
</summary>
<typeparam name="TClient"></typeparam>
<param name="config"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.BuildWithTcpClient(TouchSocket.Core.TouchSocketConfig)">
<summary>
构建Tcp类客户端并连接
</summary>
<param name="config"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.BuildService``1(TouchSocket.Core.TouchSocketConfig)">
<summary>
构建Tcp类服务器并启动。
</summary>
<typeparam name="TService"></typeparam>
<param name="config"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.BuildWithTcpService(TouchSocket.Core.TouchSocketConfig)">
<summary>
构建Tcp类服务器并启动。
</summary>
<param name="config"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.BuildUdp``1(TouchSocket.Core.TouchSocketConfig)">
<summary>
构建UDP类并启动。
</summary>
<typeparam name="TSession"></typeparam>
<param name="config"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TouchSocketConfigExtension.BuildWithUdpSession(TouchSocket.Core.TouchSocketConfig)">
<summary>
构建UDP类并启动。
</summary>
<param name="config"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.HandshakeStatus">
<summary>
握手状态。
</summary>
</member>
<member name="F:TouchSocket.Sockets.HandshakeStatus.None">
<summary>
标识没有任何操作
</summary>
</member>
<member name="F:TouchSocket.Sockets.HandshakeStatus.Handshaking">
<summary>
标识正在握手
</summary>
</member>
<member name="F:TouchSocket.Sockets.HandshakeStatus.Handshaked">
<summary>
标识已经完成握手
</summary>
</member>
<member name="F:TouchSocket.Sockets.HandshakeStatus.Closing">
<summary>
标识正在执行关闭
</summary>
</member>
<member name="F:TouchSocket.Sockets.HandshakeStatus.Closed">
<summary>
标识已经关闭
</summary>
</member>
<member name="T:TouchSocket.Sockets.IHandshakeObject">
<summary>
具有握手连接的对象。
</summary>
</member>
<member name="P:TouchSocket.Sockets.IHandshakeObject.IsHandshaked">
<summary>
只是当前客户端是否已经完成握手连接。
</summary>
</member>
<member name="T:TouchSocket.Sockets.IClient">
<summary>
终端接口
</summary>
</member>
<member name="P:TouchSocket.Sockets.IClient.Protocol">
<summary>
终端协议
</summary>
</member>
<member name="P:TouchSocket.Sockets.IClient.LastReceivedTime">
<summary>
最后一次接收到数据的时间
</summary>
</member>
<member name="P:TouchSocket.Sockets.IClient.LastSendTime">
<summary>
最后一次发送数据的时间
</summary>
</member>
<member name="T:TouchSocket.Sockets.ICloseObject">
<summary>
具有关闭动作的对象。
</summary>
</member>
<member name="M:TouchSocket.Sockets.ICloseObject.Close(System.String)">
<summary>
关闭客户端。
</summary>
<param name="msg"></param>
</member>
<member name="T:TouchSocket.Sockets.IConnectObject">
<summary>
具有连接动作的对象
</summary>
</member>
<member name="M:TouchSocket.Sockets.IConnectObject.Connect(System.Int32,System.Threading.CancellationToken)">
<summary>
连接
</summary>
<param name="millisecondsTimeout">最大等待时间</param>
<param name="token">可取消令箭</param>
<exception cref="T:System.TimeoutException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.IConnectObject.ConnectAsync(System.Int32,System.Threading.CancellationToken)">
<summary>
异步连接
</summary>
<param name="millisecondsTimeout">最大等待时间</param>
<param name="token">可取消令箭</param>
<exception cref="T:System.TimeoutException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="T:TouchSocket.Sockets.INATSocketClient">
<summary>
INATSocketClient
</summary>
</member>
<member name="M:TouchSocket.Sockets.INATSocketClient.AddTargetClient(TouchSocket.Core.TouchSocketConfig,System.Action{TouchSocket.Sockets.ITcpClient})">
<summary>
添加转发客户端。
</summary>
<param name="config">配置文件</param>
<param name="setupAction">当完成配置,但是还未连接时回调。</param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.INATSocketClient.AddTargetClientAsync(TouchSocket.Core.TouchSocketConfig,System.Action{TouchSocket.Sockets.ITcpClient})">
<summary>
添加转发客户端。
</summary>
<param name="config">配置文件</param>
<param name="setupAction">当完成配置,但是还未连接时回调。</param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.INATSocketClient.GetTargetClients">
<summary>
获取所有目标客户端
</summary>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.INATSocketClient.SendToTargetClient(System.Byte[],System.Int32,System.Int32)">
<summary>
发送数据到全部转发端。
</summary>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
</member>
<member name="T:TouchSocket.Sockets.IOnlineClient">
<summary>
标识在线状态的对象
</summary>
</member>
<member name="P:TouchSocket.Sockets.IOnlineClient.Online">
<summary>
判断是否在线
</summary>
</member>
<member name="T:TouchSocket.Sockets.IReceiverObject">
<summary>
IReceiverObject
</summary>
</member>
<member name="M:TouchSocket.Sockets.IReceiverObject.CreateReceiver">
<summary>
获取一个同步数据接收器
</summary>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.IReceiverObject.ClearReceiver">
<summary>
移除同步数据接收器
</summary>
</member>
<member name="T:TouchSocket.Sockets.IClientSender">
<summary>
客户端发送接口
</summary>
</member>
<member name="M:TouchSocket.Sockets.IClientSender.Send(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<summary>
同步组合发送数据。
<para>内部已经封装Ssl和发送长度检测调用完成即表示数据全部发送完毕。</para>
<para>该发送会经过适配器封装,具体封装内容由适配器决定。</para>
</summary>
<param name="transferBytes">组合数据</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="M:TouchSocket.Sockets.IClientSender.SendAsync(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<summary>
异步组合发送数据。
<para>该发送会经过适配器封装,具体封装内容由适配器决定。</para>
</summary>
<param name="transferBytes">组合数据</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="T:TouchSocket.Sockets.IDefaultSender">
<summary>
具有直接发送功能
</summary>
</member>
<member name="M:TouchSocket.Sockets.IDefaultSender.DefaultSend(System.Byte[],System.Int32,System.Int32)">
<summary>
绕过适配器,直接发送字节流
</summary>
<param name="buffer">数据缓存区</param>
<param name="offset">偏移量</param>
<param name="length">数据长度</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="M:TouchSocket.Sockets.IDefaultSender.DefaultSendAsync(System.Byte[],System.Int32,System.Int32)">
<summary>
绕过适配器,直接发送字节流
</summary>
<param name="buffer">数据缓存区</param>
<param name="offset">偏移量</param>
<param name="length">数据长度</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="T:TouchSocket.Sockets.IIdRequsetInfoSender">
<summary>
IIdRequsetInfoSender
</summary>
</member>
<member name="M:TouchSocket.Sockets.IIdRequsetInfoSender.Send(System.String,TouchSocket.Core.IRequestInfo)">
<summary>
同步发送数据。
<para>内部已经封装Ssl和发送长度检测调用完成即表示数据全部发送完毕。</para>
<para>该发送会经过适配器封装,具体封装内容由适配器决定。</para>
</summary>
<param name="id"></param>
<param name="requestInfo">解析对象</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="M:TouchSocket.Sockets.IIdRequsetInfoSender.SendAsync(System.String,TouchSocket.Core.IRequestInfo)">
<summary>
异步发送数据。
<para><see cref="T:TouchSocket.Sockets.ITcpClient"/>时,如果使用独立线程发送,则不会触发异常。</para>
<para><see cref="T:TouchSocket.Sockets.ITcpClientBase"/>时,相当于<see cref="M:System.Net.Sockets.Socket.BeginSend(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.Sockets.SocketError@,System.AsyncCallback,System.Object)"/></para>
<para>该发送会经过适配器封装,具体封装内容由适配器决定。</para>
</summary>
<param name="id"></param>
<param name="requestInfo">解析对象</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="T:TouchSocket.Sockets.IIdSender">
<summary>
通过Id发送
</summary>
</member>
<member name="M:TouchSocket.Sockets.IIdSender.Send(System.String,System.Byte[],System.Int32,System.Int32)">
<summary>
向对应Id的客户端发送
</summary>
<param name="id">目标Id</param>
<param name="buffer">数据</param>
<param name="offset">偏移</param>
<param name="length">长度</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">未连接异常</exception>
<exception cref="T:TouchSocket.Sockets.ClientNotFindException">未找到Id对应的客户端</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="M:TouchSocket.Sockets.IIdSender.SendAsync(System.String,System.Byte[],System.Int32,System.Int32)">
<summary>
向对应Id的客户端发送
</summary>
<param name="id">目标Id</param>
<param name="buffer">数据</param>
<param name="offset">偏移</param>
<param name="length">长度</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">未连接异常</exception>
<exception cref="T:TouchSocket.Sockets.ClientNotFindException">未找到Id对应的客户端</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="M:TouchSocket.Sockets.IIdSender.Send(System.String,TouchSocket.Core.IRequestInfo)">
<summary>
向对应Id的客户端发送
</summary>
<param name="id">目标Id</param>
<param name="requestInfo">数据对象</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">未连接异常</exception>
<exception cref="T:TouchSocket.Sockets.ClientNotFindException">未找到Id对应的客户端</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="M:TouchSocket.Sockets.IIdSender.SendAsync(System.String,TouchSocket.Core.IRequestInfo)">
<summary>
向对应Id的客户端发送
</summary>
<param name="id">目标Id</param>
<param name="requestInfo">数据对象</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">未连接异常</exception>
<exception cref="T:TouchSocket.Sockets.ClientNotFindException">未找到Id对应的客户端</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="T:TouchSocket.Sockets.IRequsetInfoSender">
<summary>
IRequsetInfoSend
</summary>
</member>
<member name="M:TouchSocket.Sockets.IRequsetInfoSender.Send(TouchSocket.Core.IRequestInfo)">
<summary>
同步发送数据。
<para>该发送会经过适配器封装,具体封装内容由适配器决定。</para>
</summary>
<param name="requestInfo">解析对象</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="M:TouchSocket.Sockets.IRequsetInfoSender.SendAsync(TouchSocket.Core.IRequestInfo)">
<summary>
异步发送数据。
<para>该发送会经过适配器封装,具体封装内容由适配器决定。</para>
</summary>
<param name="requestInfo">解析对象</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="T:TouchSocket.Sockets.ISender">
<summary>
具有发送功能的接口
</summary>
</member>
<member name="M:TouchSocket.Sockets.ISender.Send(System.Byte[],System.Int32,System.Int32)">
<summary>
同步发送数据。
<para>内部已经封装Ssl和发送长度检测调用完成即表示数据全部发送完毕。</para>
<para>该发送会经过适配器封装,具体封装内容由适配器决定。</para>
</summary>
<param name="buffer">数据缓存区</param>
<param name="offset">偏移量</param>
<param name="length">数据长度</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="M:TouchSocket.Sockets.ISender.SendAsync(System.Byte[],System.Int32,System.Int32)">
<summary>
异步发送数据。
<para>该发送会经过适配器封装,具体封装内容由适配器决定。</para>
</summary>
<param name="buffer">数据缓存区</param>
<param name="offset">偏移量</param>
<param name="length">数据长度</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="T:TouchSocket.Sockets.ISenderBase">
<summary>
具有发送动作的基类。
</summary>
</member>
<member name="P:TouchSocket.Sockets.ISenderBase.CanSend">
<summary>
表示对象能否顺利执行发送操作。
<para>由于高并发当该值为True时也不一定完全能执行。</para>
</summary>
</member>
<member name="T:TouchSocket.Sockets.IUdpClientSender">
<summary>
具有Udp终结点的发送
</summary>
</member>
<member name="M:TouchSocket.Sockets.IUdpClientSender.Send(System.Net.EndPoint,System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<summary>
同步组合发送数据。
<para>该发送会经过适配器封装,具体封装内容由适配器决定。</para>
</summary>
<param name="endPoint">远程终结点</param>
<param name="transferBytes">组合数据</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="M:TouchSocket.Sockets.IUdpClientSender.SendAsync(System.Net.EndPoint,System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
<summary>
异步组合发送数据。
<para>该发送会经过适配器封装,具体封装内容由适配器决定。</para>
</summary>
<param name="endPoint">远程终结点</param>
<param name="transferBytes">组合数据</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="M:TouchSocket.Sockets.IUdpClientSender.Send(System.Net.EndPoint,System.Byte[],System.Int32,System.Int32)">
<summary>
同步组合发送数据。
<para>该发送会经过适配器封装,具体封装内容由适配器决定。</para>
</summary>
<param name="endPoint">远程终结点</param>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="M:TouchSocket.Sockets.IUdpClientSender.SendAsync(System.Net.EndPoint,System.Byte[],System.Int32,System.Int32)">
<summary>
异步组合发送数据。
<para>该发送会经过适配器封装,具体封装内容由适配器决定。</para>
</summary>
<param name="endPoint">远程终结点</param>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="T:TouchSocket.Sockets.IUdpDefaultSender">
<summary>
具有直接发送功能
</summary>
</member>
<member name="M:TouchSocket.Sockets.IUdpDefaultSender.DefaultSend(System.Net.EndPoint,System.Byte[],System.Int32,System.Int32)">
<summary>
绕过适配器,直接发送字节流
</summary>
<param name="endPoint">目的终结点</param>
<param name="buffer">数据缓存区</param>
<param name="offset">偏移量</param>
<param name="length">数据长度</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="M:TouchSocket.Sockets.IUdpDefaultSender.DefaultSendAsync(System.Net.EndPoint,System.Byte[],System.Int32,System.Int32)">
<summary>
绕过适配器,直接发送字节流
</summary>
<param name="endPoint">目的终结点</param>
<param name="buffer">数据缓存区</param>
<param name="offset">偏移量</param>
<param name="length">数据长度</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="T:TouchSocket.Sockets.IUdpRequsetInfoSender">
<summary>
IUdpRequsetInfoSender
</summary>
</member>
<member name="M:TouchSocket.Sockets.IUdpRequsetInfoSender.Send(System.Net.EndPoint,TouchSocket.Core.IRequestInfo)">
<summary>
同步发送数据。
<para>该发送会经过适配器封装,具体封装内容由适配器决定。</para>
</summary>
<param name="endPoint"></param>
<param name="requestInfo">解析对象</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="M:TouchSocket.Sockets.IUdpRequsetInfoSender.SendAsync(System.Net.EndPoint,TouchSocket.Core.IRequestInfo)">
<summary>
异步发送数据。
<para>该发送会经过适配器封装,具体封装内容由适配器决定。</para>
</summary>
<param name="endPoint"></param>
<param name="requestInfo">解析对象</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
</member>
<member name="T:TouchSocket.Sockets.IWaitSender">
<summary>
发送等待接口
</summary>
</member>
<member name="M:TouchSocket.Sockets.IWaitSender.SendThenReturn(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
<summary>
发送字节流
</summary>
<param name="buffer">数据缓存区</param>
<param name="offset">偏移</param>
<param name="length">长度</param>
<param name="token">取消令箭</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="M:TouchSocket.Sockets.IWaitSender.SendThenReturnAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
<summary>
异步发送
</summary>
<param name="buffer">数据缓存区</param>
<param name="offset">偏移</param>
<param name="length">长度</param>
<param name="token">取消令箭</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="T:TouchSocket.Sockets.IService">
<summary>
服务器接口
</summary>
</member>
<member name="P:TouchSocket.Sockets.IService.ServerName">
<summary>
名称
</summary>
</member>
<member name="P:TouchSocket.Sockets.IService.ServerState">
<summary>
服务器状态
</summary>
</member>
<member name="M:TouchSocket.Sockets.IService.Start">
<summary>
启动
</summary>
<exception cref="T:System.Exception"></exception>
<exception cref="T:System.ArgumentNullException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.IService.StartAsync">
<summary>
异步启动
</summary>
<exception cref="T:System.Exception"></exception>
<exception cref="T:System.ArgumentNullException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.IService.Stop">
<summary>
停止
</summary>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.IService.StopAsync">
<summary>
异步停止
</summary>
<exception cref="T:System.Exception"></exception>
</member>
<member name="T:TouchSocket.Sockets.ISocketClient">
<summary>
服务器辅助类接口
</summary>
</member>
<member name="M:TouchSocket.Sockets.ISocketClient.ResetId(System.String)">
<summary>
重新设置Id
</summary>
<param name="newId"></param>
</member>
<member name="P:TouchSocket.Sockets.ISocketClient.Id">
<summary>
用于索引的Id
</summary>
</member>
<member name="P:TouchSocket.Sockets.ISocketClient.Service">
<summary>
包含此辅助类的主服务器类
</summary>
</member>
<member name="P:TouchSocket.Sockets.ISocketClient.ServiceIP">
<summary>
接收此客户端的服务器IP地址
</summary>
</member>
<member name="P:TouchSocket.Sockets.ISocketClient.ServicePort">
<summary>
接收此客户端的服务器端口
</summary>
</member>
<member name="P:TouchSocket.Sockets.ISocketClient.ListenOption">
<summary>
监听配置。
<para>
注意:一般情况下不要随意修改该值。
</para>
</summary>
</member>
<member name="T:TouchSocket.Sockets.ISocketClientCollection">
<summary>
客户端集合
</summary>
</member>
<member name="P:TouchSocket.Sockets.ISocketClientCollection.Count">
<summary>
集合长度
</summary>
</member>
<member name="P:TouchSocket.Sockets.ISocketClientCollection.Item(System.String)">
<summary>
通过Id查找<see cref="T:TouchSocket.Sockets.ISocketClient"/>
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ISocketClientCollection.GetClients">
<summary>
获取所有的客户端
</summary>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ISocketClientCollection.GetIds">
<summary>
获取Id集合
</summary>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ISocketClientCollection.SocketClientExist(System.String)">
<summary>
根据Id判断SocketClient是否存在
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ISocketClientCollection.TryGetSocketClient(System.String,TouchSocket.Sockets.ISocketClient@)">
<summary>
尝试获取实例
</summary>
<param name="id"></param>
<param name="socketClient"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ISocketClientCollection.TryGetSocketClient``1(System.String,``0@)">
<summary>
尝试获取实例
</summary>
<typeparam name="TClient"></typeparam>
<param name="id"></param>
<param name="socketClient"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.ITcpClient">
<summary>
Tcp客户端终端接口
</summary>
</member>
<member name="P:TouchSocket.Sockets.ITcpClient.Connected">
<summary>
成功连接到服务器
</summary>
</member>
<member name="P:TouchSocket.Sockets.ITcpClient.Connecting">
<summary>
准备连接的时候
</summary>
</member>
<member name="P:TouchSocket.Sockets.ITcpClient.RemoteIPHost">
<summary>
远程IPHost。
</summary>
</member>
<member name="T:TouchSocket.Sockets.ITcpClientBase">
<summary>
Tcp终端基础接口。
<para>
注意:该接口并不仅表示客户端。<see cref="T:TouchSocket.Sockets.SocketClient"/>也实现了该接口。
</para>
</summary>
</member>
<member name="P:TouchSocket.Sockets.ITcpClientBase.Disconnected">
<summary>
断开连接
</summary>
</member>
<member name="P:TouchSocket.Sockets.ITcpClientBase.Disconnecting">
<summary>
即将断开连接(仅主动断开时有效)。
<para>
</para>
</summary>
</member>
<member name="P:TouchSocket.Sockets.ITcpClientBase.IP">
<summary>
IP地址
</summary>
</member>
<member name="P:TouchSocket.Sockets.ITcpClientBase.IsClient">
<summary>
表示是否为客户端。
</summary>
</member>
<member name="P:TouchSocket.Sockets.ITcpClientBase.MainSocket">
<summary>
主通信器
</summary>
</member>
<member name="P:TouchSocket.Sockets.ITcpClientBase.Port">
<summary>
端口号
</summary>
</member>
<member name="P:TouchSocket.Sockets.ITcpClientBase.UseSsl">
<summary>
使用Ssl加密
</summary>
</member>
<member name="T:TouchSocket.Sockets.ITcpService`1">
<summary>
Tcp系列服务器接口
</summary>
</member>
<member name="P:TouchSocket.Sockets.ITcpService`1.Connected">
<summary>
用户连接完成
</summary>
</member>
<member name="P:TouchSocket.Sockets.ITcpService`1.Connecting">
<summary>
有用户连接的时候
</summary>
</member>
<member name="P:TouchSocket.Sockets.ITcpService`1.Disconnected">
<summary>
有用户断开连接
</summary>
</member>
<member name="P:TouchSocket.Sockets.ITcpService`1.Disconnecting">
<summary>
即将断开连接(仅主动断开时有效)。
</summary>
</member>
<member name="M:TouchSocket.Sockets.ITcpService`1.TryGetSocketClient(System.String,`0@)">
<summary>
尝试获取TClient
</summary>
<param name="id">Id</param>
<param name="socketClient">TClient</param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.ITcpService">
<summary>
Tcp系列服务器接口
</summary>
</member>
<member name="T:TouchSocket.Sockets.ITcpServiceBase">
<summary>
Tcp服务器接口
</summary>
</member>
<member name="P:TouchSocket.Sockets.ITcpServiceBase.Count">
<summary>
当前在线客户端数量
</summary>
</member>
<member name="P:TouchSocket.Sockets.ITcpServiceBase.MaxCount">
<summary>
获取最大可连接数
</summary>
</member>
<member name="P:TouchSocket.Sockets.ITcpServiceBase.Monitors">
<summary>
网络监听集合
</summary>
</member>
<member name="P:TouchSocket.Sockets.ITcpServiceBase.SocketClients">
<summary>
获取当前连接的所有客户端
</summary>
</member>
<member name="M:TouchSocket.Sockets.ITcpServiceBase.AddListen(TouchSocket.Sockets.TcpListenOption)">
<summary>
添加一个地址监听。支持在服务器运行过程中动态添加。
</summary>
<param name="options"></param>
</member>
<member name="M:TouchSocket.Sockets.ITcpServiceBase.Clear">
<summary>
清理当前已连接的所有客户端
</summary>
</member>
<member name="M:TouchSocket.Sockets.ITcpServiceBase.GetIds">
<summary>
获取当前在线的所有Id集合
</summary>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ITcpServiceBase.RemoveListen(TouchSocket.Sockets.TcpNetworkMonitor)">
<summary>
移除一个地址监听。支持在服务器运行过程中动态移除。
</summary>
<param name="monitor">监听器</param>
<returns>返回是否已成功移除</returns>
</member>
<member name="M:TouchSocket.Sockets.ITcpServiceBase.ResetId(System.String,System.String)">
<summary>
重置Id
</summary>
<param name="oldId"></param>
<param name="newId"></param>
<exception cref="T:TouchSocket.Sockets.ClientNotFindException"></exception>
<exception cref="T:System.Exception"></exception>
</member>
<member name="M:TouchSocket.Sockets.ITcpServiceBase.SocketClientExist(System.String)">
<summary>
根据Id判断SocketClient是否存在
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.IUdpSession">
<summary>
UDP会话
</summary>
</member>
<member name="P:TouchSocket.Sockets.IUdpSession.CanSetDataHandlingAdapter">
<summary>
是否允许自由调用<see cref="M:TouchSocket.Sockets.IUdpSession.SetDataHandlingAdapter(TouchSocket.Sockets.UdpDataHandlingAdapter)"/>进行赋值。
</summary>
</member>
<member name="P:TouchSocket.Sockets.IUdpSession.DataHandlingAdapter">
<summary>
数据处理适配器
</summary>
</member>
<member name="M:TouchSocket.Sockets.IUdpSession.SetDataHandlingAdapter(TouchSocket.Sockets.UdpDataHandlingAdapter)">
<summary>
设置数据处理适配器
</summary>
<param name="adapter"></param>
</member>
<member name="T:TouchSocket.Sockets.CheckClearPlugin`1">
<summary>
检查清理连接插件。服务器与客户端均适用。
</summary>
</member>
<member name="M:TouchSocket.Sockets.CheckClearPlugin`1.#ctor">
<summary>
检查清理连接插件。服务器与客户端均适用。
</summary>
</member>
<member name="M:TouchSocket.Sockets.CheckClearPlugin`1.Loaded(TouchSocket.Core.IPluginManager)">
<inheritdoc/>
</member>
<member name="P:TouchSocket.Sockets.CheckClearPlugin`1.CheckClearType">
<summary>
清理统计类型。默认为:<see cref="F:TouchSocket.Sockets.CheckClearType.All"/>。当设置为<see cref="F:TouchSocket.Sockets.CheckClearType.OnlySend"/>时,
则只检验发送方向是否有数据流动。没有的话则会断开连接。
</summary>
</member>
<member name="P:TouchSocket.Sockets.CheckClearPlugin`1.OnClose">
<summary>
当因为超出时间限定而关闭。
</summary>
</member>
<member name="P:TouchSocket.Sockets.CheckClearPlugin`1.Tick">
<summary>
获取或设置清理无数据交互的Client默认60秒。
</summary>
</member>
<member name="M:TouchSocket.Sockets.CheckClearPlugin`1.OnTcpConnected(`0,TouchSocket.Sockets.ConnectedEventArgs)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.CheckClearPlugin`1.SetCheckClearType(TouchSocket.Sockets.CheckClearType)">
<summary>
清理统计类型。默认为:<see cref="F:TouchSocket.Sockets.CheckClearType.All"/>。当设置为<see cref="F:TouchSocket.Sockets.CheckClearType.OnlySend"/>时,
则只检验发送方向是否有数据流动。没有的话则会断开连接。
</summary>
<param name="clearType"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.CheckClearPlugin`1.SetOnClose(System.Action{`0,TouchSocket.Sockets.CheckClearType})">
<summary>
当因为超出时间限定而关闭。
</summary>
<param name="action"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.CheckClearPlugin`1.SetTick(System.TimeSpan)">
<summary>
设置清理无数据交互的Client默认60秒。
</summary>
<param name="timeSpan"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.HeartbeatPlugin">
<summary>
HeartbeatPlugin
</summary>
</member>
<member name="P:TouchSocket.Sockets.HeartbeatPlugin.MaxFailCount">
<summary>
最大失败次数默认3。
</summary>
</member>
<member name="P:TouchSocket.Sockets.HeartbeatPlugin.Tick">
<summary>
心跳间隔。默认3秒。
</summary>
</member>
<member name="T:TouchSocket.Sockets.HeartbeatPluginExtension">
<summary>
HeartbeatPluginExtension
</summary>
</member>
<member name="M:TouchSocket.Sockets.HeartbeatPluginExtension.SetTick``1(``0,System.TimeSpan)">
<summary>
设置心跳间隔。默认3秒。
</summary>
<typeparam name="THeartbeatPlugin"></typeparam>
<param name="heartbeatPlugin"></param>
<param name="timeSpan"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.HeartbeatPluginExtension.SetMaxFailCount``1(``0,System.Int32)">
<summary>
设置最大失败次数默认3。
</summary>
<typeparam name="THeartbeatPlugin"></typeparam>
<param name="heartbeatPlugin"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.IIdChangedPlugin`1">
<summary>
IIdChangedPlugin
</summary>
</member>
<member name="M:TouchSocket.Sockets.IIdChangedPlugin`1.OnIdChanged(`0,TouchSocket.Sockets.IdChangedEventArgs)">
<summary>
当Client的Id被更改后触发
</summary>
<param name="client"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.IIdChangedPlugin">
<summary>
IIdChangedPlugin
</summary>
</member>
<member name="T:TouchSocket.Sockets.IServerStartedPlugin`1">
<summary>
IServerStartedPlugin
</summary>
</member>
<member name="M:TouchSocket.Sockets.IServerStartedPlugin`1.OnServerStarted(`0,TouchSocket.Sockets.ServiceStateEventArgs)">
<summary>
当服务器执行<see cref="M:TouchSocket.Sockets.IService.Start"/>后时。
<para>
注意:此处并不表示服务器成功启动,具体状态请看<see cref="P:TouchSocket.Sockets.ServiceStateEventArgs.ServerState"/>
</para>
</summary>
<param name="sender"></param>
<param name="e"></param>
</member>
<member name="T:TouchSocket.Sockets.IServerStartedPlugin">
<summary>
IServerStartedPlugin
</summary>
</member>
<member name="T:TouchSocket.Sockets.IServerStopedPlugin`1">
<summary>
IServerStopedPlugin
</summary>
</member>
<member name="M:TouchSocket.Sockets.IServerStopedPlugin`1.OnServerStoped(`0,TouchSocket.Sockets.ServiceStateEventArgs)">
<summary>
当服务器调用<see cref="M:TouchSocket.Sockets.IService.Stop"/>或者<see cref="M:System.IDisposable.Dispose"/>
</summary>
<param name="sender"></param>
<param name="e"></param>
</member>
<member name="T:TouchSocket.Sockets.IServerStopedPlugin">
<summary>
IServerStopedPlugin
</summary>
</member>
<member name="T:TouchSocket.Sockets.ITcpConnectedPlugin`1">
<summary>
具有完成连接动作的插件接口
</summary>
</member>
<member name="M:TouchSocket.Sockets.ITcpConnectedPlugin`1.OnTcpConnected(`0,TouchSocket.Sockets.ConnectedEventArgs)">
<summary>
客户端连接成功后触发
</summary>
<param name="client"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.ITcpConnectedPlugin">
<summary>
ITcpConnectedPlugin
</summary>
</member>
<member name="T:TouchSocket.Sockets.ITcpConnectingPlugin`1">
<summary>
具有预备连接的插件接口
</summary>
</member>
<member name="M:TouchSocket.Sockets.ITcpConnectingPlugin`1.OnTcpConnecting(`0,TouchSocket.Sockets.ConnectingEventArgs)">
<summary>
在即将完成连接时触发。
</summary>
<param name="client"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.ITcpConnectingPlugin">
<summary>
ITcpConnectingPlugin
</summary>
</member>
<member name="T:TouchSocket.Sockets.ITcpDisconnectedPlugin`1">
<summary>
具有断开连接的插件接口
</summary>
</member>
<member name="M:TouchSocket.Sockets.ITcpDisconnectedPlugin`1.OnTcpDisconnected(`0,TouchSocket.Sockets.DisconnectEventArgs)">
<summary>
会话断开后触发
</summary>
<param name="client"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.ITcpDisconnectedPlugin">
<summary>
ITcpDisconnectedPlugin
</summary>
</member>
<member name="T:TouchSocket.Sockets.ITcpDisconnectingPlugin`1">
<summary>
即将断开连接(仅主动断开时有效)。
</summary>
</member>
<member name="M:TouchSocket.Sockets.ITcpDisconnectingPlugin`1.OnTcpDisconnecting(`0,TouchSocket.Sockets.DisconnectEventArgs)">
<summary>
即将断开连接(仅主动断开时有效)。
</summary>
<param name="client"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.ITcpDisconnectingPlugin">
<summary>
ITcpDisconnectingPlugin
</summary>
</member>
<member name="T:TouchSocket.Sockets.ITcpReceivedPlugin`1">
<summary>
ITcpReceivedPlugin
</summary>
</member>
<member name="M:TouchSocket.Sockets.ITcpReceivedPlugin`1.OnTcpReceived(`0,TouchSocket.Sockets.ReceivedDataEventArgs)">
<summary>
在收到数据时触发
</summary>
<param name="client"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.ITcpReceivedPlugin">
<summary>
ITcpReceivedPlugin
</summary>
</member>
<member name="T:TouchSocket.Sockets.ITcpReceivingPlugin`1">
<summary>
ITcpReceivingPlugin
</summary>
</member>
<member name="M:TouchSocket.Sockets.ITcpReceivingPlugin`1.OnTcpReceiving(`0,TouchSocket.Sockets.ByteBlockEventArgs)">
<summary>
在刚收到数据时触发,即在适配器之前。
</summary>
<param name="client"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.ITcpReceivingPlugin">
<summary>
ITcpReceivingPlugin
</summary>
</member>
<member name="T:TouchSocket.Sockets.ITcpSendingPlugin`1">
<summary>
ITcpSendingPlugin
</summary>
</member>
<member name="M:TouchSocket.Sockets.ITcpSendingPlugin`1.OnTcpSending(`0,TouchSocket.Sockets.SendingEventArgs)">
<summary>
当即将发送数据时,调用该方法在适配器之后,接下来即会发送数据。
</summary>
<param name="client"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.ITcpSendingPlugin">
<summary>
ITcpSendingPlugin
</summary>
</member>
<member name="T:TouchSocket.Sockets.IUdpReceivedPlugin`1">
<summary>
IUdpReceivedPlugin
</summary>
</member>
<member name="M:TouchSocket.Sockets.IUdpReceivedPlugin`1.OnUdpReceived(`0,TouchSocket.Sockets.UdpReceivedDataEventArgs)">
<summary>
在收到数据时触发
</summary>
<param name="client"></param>
<param name="e"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.IUdpReceivedPlugin">
<summary>
IUdpReceivedPlugin
</summary>
</member>
<member name="T:TouchSocket.Sockets.ReconnectionPlugin`1">
<summary>
重连插件
</summary>
</member>
<member name="M:TouchSocket.Sockets.ReconnectionPlugin`1.#ctor">
<summary>
重连插件
</summary>
</member>
<member name="P:TouchSocket.Sockets.ReconnectionPlugin`1.ActionForCheck">
<summary>
每个周期可执行的委托。用于检验客户端活性。返回true表示存活返回
</summary>
</member>
<member name="P:TouchSocket.Sockets.ReconnectionPlugin`1.ActionForConnect">
<summary>
ActionForConnect
</summary>
</member>
<member name="P:TouchSocket.Sockets.ReconnectionPlugin`1.Tick">
<summary>
检验时间间隔
</summary>
</member>
<member name="M:TouchSocket.Sockets.ReconnectionPlugin`1.SetActionForCheck(System.Func{`0,System.Int32,System.Threading.Tasks.Task{System.Nullable{System.Boolean}}})">
<summary>
每个周期可执行的委托。返回值为True标识客户端存活。返回False表示失活立即重连。返回null时表示跳过此次检验。
</summary>
<param name="actionForCheck"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ReconnectionPlugin`1.SetActionForCheck(System.Func{`0,System.Int32,System.Nullable{System.Boolean}})">
<summary>
每个周期可执行的委托。返回值为True标识客户端存活。返回False表示失活立即重连。返回null时表示跳过此次检验。
</summary>
<param name="actionForCheck"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ReconnectionPlugin`1.SetConnectAction(System.Func{`0,System.Threading.Tasks.Task{System.Boolean}})">
<summary>
设置连接动作
</summary>
<param name="tryConnect"></param>
<returns>无论如何只要返回True则结束本轮尝试</returns>
</member>
<member name="M:TouchSocket.Sockets.ReconnectionPlugin`1.SetConnectAction(System.Func{`0,System.Boolean})">
<summary>
设置连接动作
</summary>
<param name="tryConnect"></param>
<returns>无论如何只要返回True则结束本轮尝试</returns>
</member>
<member name="M:TouchSocket.Sockets.ReconnectionPlugin`1.SetTick(System.TimeSpan)">
<summary>
检验时间间隔
</summary>
<param name="tick"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.ReconnectionPlugin`1.UsePolling">
<summary>
使用轮询保持活性。
</summary>
</member>
<member name="M:TouchSocket.Sockets.ReconnectionPlugin`1.Loaded(TouchSocket.Core.IPluginManager)">
<inheritdoc/>
</member>
<member name="T:TouchSocket.Sockets.TcpCommandLinePlugin">
<summary>
Tcp命令行插件。
</summary>
</member>
<member name="M:TouchSocket.Sockets.TcpCommandLinePlugin.#ctor(TouchSocket.Core.ILog)">
<summary>
Tcp命令行插件。
</summary>
<param name="logger"></param>
<exception cref="T:System.ArgumentNullException"></exception>
</member>
<member name="P:TouchSocket.Sockets.TcpCommandLinePlugin.Converter">
<summary>
字符串转换器默认支持基础类型和Json。可以自定义。
</summary>
</member>
<member name="P:TouchSocket.Sockets.TcpCommandLinePlugin.ReturnException">
<summary>
是否返回执行异常。
</summary>
</member>
<member name="M:TouchSocket.Sockets.TcpCommandLinePlugin.NoReturnException">
<summary>
当有执行异常时,不返回异常。
</summary>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.TcpCommandLinePlugin.OnTcpReceived(TouchSocket.Sockets.ITcpClientBase,TouchSocket.Sockets.ReceivedDataEventArgs)">
<inheritdoc/>
</member>
<member name="T:TouchSocket.Sockets.IReceiver">
<summary>
IReceiver
</summary>
</member>
<member name="M:TouchSocket.Sockets.IReceiver.ReadAsync(System.Threading.CancellationToken)">
<summary>
异步等待并读取
</summary>
<param name="token"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.IReceiver.ValueReadAsync(System.Threading.CancellationToken)">
<summary>
值异步等待并读取
</summary>
<param name="token"></param>
<returns></returns>
</member>
<member name="T:TouchSocket.Sockets.Receiver">
<summary>
Receiver
</summary>
</member>
<member name="M:TouchSocket.Sockets.Receiver.Finalize">
<summary>
Receiver
</summary>
</member>
<member name="M:TouchSocket.Sockets.Receiver.#ctor(TouchSocket.Sockets.IReceiverObject)">
<summary>
Receiver
</summary>
<param name="client"></param>
</member>
<member name="M:TouchSocket.Sockets.Receiver.ReadAsync(System.Threading.CancellationToken)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.Receiver.ValueReadAsync(System.Threading.CancellationToken)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.Receiver.TryInputReceive(TouchSocket.Core.ByteBlock,TouchSocket.Core.IRequestInfo)">
<inheritdoc/>
</member>
<member name="M:TouchSocket.Sockets.Receiver.Dispose(System.Boolean)">
<inheritdoc/>
</member>
<member name="T:TouchSocket.Sockets.ReceiverResult">
<summary>
ReceiverResult
</summary>
</member>
<member name="M:TouchSocket.Sockets.ReceiverResult.#ctor(System.Action,TouchSocket.Core.ByteBlock,TouchSocket.Core.IRequestInfo)">
<summary>
SocketReceiveResult
</summary>
<param name="disAction"></param>
<param name="byteBlock"></param>
<param name="requestInfo"></param>
</member>
<member name="P:TouchSocket.Sockets.ReceiverResult.ByteBlock">
<summary>
字节块
</summary>
</member>
<member name="P:TouchSocket.Sockets.ReceiverResult.RequestInfo">
<summary>
数据对象
</summary>
</member>
<member name="P:TouchSocket.Sockets.ReceiverResult.IsClosed">
<summary>
连接已关闭
</summary>
</member>
<member name="M:TouchSocket.Sockets.ReceiverResult.Dispose">
<inheritdoc/>
</member>
<member name="T:TouchSocket.Sockets.IWaitingClient`1">
<summary>
等待型客户端。
</summary>
</member>
<member name="P:TouchSocket.Sockets.IWaitingClient`1.WaitingOptions">
<summary>
等待设置。
</summary>
</member>
<member name="P:TouchSocket.Sockets.IWaitingClient`1.Client">
<summary>
客户端终端
</summary>
</member>
<member name="M:TouchSocket.Sockets.IWaitingClient`1.SendThenResponse(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
<summary>
发送字节流
</summary>
<param name="buffer">数据缓存区</param>
<param name="offset">偏移</param>
<param name="length">长度</param>
<param name="token">取消令箭</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="M:TouchSocket.Sockets.IWaitingClient`1.SendThenResponseAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
<summary>
异步发送
</summary>
<param name="buffer">数据缓存区</param>
<param name="offset">偏移</param>
<param name="length">长度</param>
<param name="token">取消令箭</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="T:TouchSocket.Sockets.ResponsedData">
<summary>
响应数据。
</summary>
</member>
<member name="M:TouchSocket.Sockets.ResponsedData.#ctor(System.Byte[],TouchSocket.Core.IRequestInfo)">
<summary>
构造函数
</summary>
<param name="data"></param>
<param name="requestInfo"></param>
</member>
<member name="P:TouchSocket.Sockets.ResponsedData.Data">
<summary>
数据
</summary>
</member>
<member name="P:TouchSocket.Sockets.ResponsedData.RequestInfo">
<summary>
RequestInfo
</summary>
</member>
<member name="T:TouchSocket.Sockets.WaitingClientExtension">
<summary>
WaitingClientExtensions
</summary>
</member>
<member name="M:TouchSocket.Sockets.WaitingClientExtension.CreateWaitingClient``1(``0,TouchSocket.Sockets.WaitingOptions)">
<summary>
创建可等待的客户端。
</summary>
<typeparam name="TClient"></typeparam>
<param name="client"></param>
<param name="waitingOptions"></param>
<returns></returns>
</member>
<member name="M:TouchSocket.Sockets.WaitingClientExtension.SendThenResponseAsync``1(TouchSocket.Sockets.IWaitingClient{``0},System.Byte[],System.Threading.CancellationToken)">
<summary>
发送数据并等待
</summary>
<param name="client"></param>
<param name="buffer"></param>
<param name="token">取消令箭</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="M:TouchSocket.Sockets.WaitingClientExtension.SendThenResponseAsync``1(TouchSocket.Sockets.IWaitingClient{``0},System.String,System.Threading.CancellationToken)">
<summary>
发送数据并等待
</summary>
<param name="client"></param>
<param name="msg"></param>
<param name="token">取消令箭</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="M:TouchSocket.Sockets.WaitingClientExtension.SendThenResponseAsync``1(TouchSocket.Sockets.IWaitingClient{``0},System.Byte[],System.Int32)">
<summary>
发送数据并等待
</summary>
<param name="client"></param>
<param name="buffer"></param>
<param name="millisecondsTimeout">超时时间</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="M:TouchSocket.Sockets.WaitingClientExtension.SendThenResponseAsync``1(TouchSocket.Sockets.IWaitingClient{``0},System.String,System.Int32)">
<summary>
发送数据并等待
</summary>
<param name="client"></param>
<param name="msg"></param>
<param name="millisecondsTimeout">超时时间</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="M:TouchSocket.Sockets.WaitingClientExtension.SendThenResponseAsync``1(TouchSocket.Sockets.IWaitingClient{``0},System.Byte[],System.Int32,System.Int32,System.Int32)">
<summary>
发送数据并等待
</summary>
<typeparam name="TClient">客户端泛型</typeparam>
<param name="client">客户端</param>
<param name="buffer">数据区</param>
<param name="offset">数据偏移</param>
<param name="length">长度</param>
<param name="millisecondsTimeout">超时时间</param>
<returns></returns>
<exception cref="T:System.TimeoutException"></exception>
</member>
<member name="M:TouchSocket.Sockets.WaitingClientExtension.SendThenResponse``1(TouchSocket.Sockets.IWaitingClient{``0},System.Byte[],System.Threading.CancellationToken)">
<summary>
发送数据并等待
</summary>
<param name="client"></param>
<param name="buffer">数据缓存区</param>
<param name="token">取消令箭</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="M:TouchSocket.Sockets.WaitingClientExtension.SendThenResponse``1(TouchSocket.Sockets.IWaitingClient{``0},System.String,System.Threading.CancellationToken)">
<summary>
发送数据并等待
</summary>
<param name="client"></param>
<param name="msg"></param>
<param name="token">取消令箭</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="M:TouchSocket.Sockets.WaitingClientExtension.SendThenResponse``1(TouchSocket.Sockets.IWaitingClient{``0},System.String,System.Int32)">
<summary>
发送数据并等待
</summary>
<param name="client"></param>
<param name="msg"></param>
<param name="millisecondsTimeout"></param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="M:TouchSocket.Sockets.WaitingClientExtension.SendThenResponse``1(TouchSocket.Sockets.IWaitingClient{``0},TouchSocket.Core.ByteBlock,System.Threading.CancellationToken)">
<summary>
发送数据并等待
</summary>
<param name="client"></param>
<param name="byteBlock">数据块载体</param>
<param name="token">取消令箭</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="M:TouchSocket.Sockets.WaitingClientExtension.SendThenResponse``1(TouchSocket.Sockets.IWaitingClient{``0},System.Byte[],System.Int32)">
<summary>
发送数据并等待
</summary>
<param name="client"></param>
<param name="buffer">数据缓存区</param>
<param name="millisecondsTimeout">超时时间</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="M:TouchSocket.Sockets.WaitingClientExtension.SendThenResponse``1(TouchSocket.Sockets.IWaitingClient{``0},TouchSocket.Core.ByteBlock,System.Int32)">
<summary>
发送数据并等待
</summary>
<param name="client"></param>
<param name="byteBlock">数据块载体</param>
<param name="millisecondsTimeout">超时时间</param>
<exception cref="T:TouchSocket.Sockets.NotConnectedException">客户端没有连接</exception>
<exception cref="T:TouchSocket.Core.OverlengthException">发送数据超长</exception>
<exception cref="T:System.Exception">其他异常</exception>
<returns>返回的数据</returns>
</member>
<member name="M:TouchSocket.Sockets.WaitingClientExtension.SendThenResponse``1(TouchSocket.Sockets.IWaitingClient{``0},System.Byte[],System.Int32,System.Int32,System.Int32)">
<summary>
发送数据并等待
</summary>
<typeparam name="TClient">客户端</typeparam>
<param name="client"></param>
<param name="buffer"></param>
<param name="offset"></param>
<param name="length"></param>
<param name="millisecondsTimeout"></param>
<returns></returns>
<exception cref="T:System.TimeoutException"></exception>
</member>
<member name="T:TouchSocket.Sockets.WaitingOptions">
<summary>
等待设置
</summary>
</member>
<member name="P:TouchSocket.Sockets.WaitingOptions.RemoteIPHost">
<summary>
远程地址(仅在Udp模式下生效)
</summary>
</member>
<member name="P:TouchSocket.Sockets.WaitingOptions.FilterFunc">
<summary>
筛选函数
</summary>
</member>
<member name="T:TouchSocket.Resources.TouchSocketResource">
<summary>
TouchSocket资源枚举
</summary>
</member>
<member name="F:TouchSocket.Resources.TouchSocketResource.ClientNotFind">
<summary>
没有找到Id为{0}的客户端。
</summary>
</member>
<member name="F:TouchSocket.Resources.TouchSocketResource.LoadStreamFail">
<summary>
从‘{0}’路径加载流异常,信息:‘{1}’。
</summary>
</member>
<member name="F:TouchSocket.Resources.TouchSocketResource.NullDataAdapter">
<summary>
数据处理适配器为空,可能客户端已掉线。
</summary>
</member>
<member name="F:TouchSocket.Resources.TouchSocketResource.NotConnected">
<summary>
客户端没有连接
</summary>
</member>
</members>
</doc>