Class StateObject
Namespace: Tool.Sockets.Kernels
Assembly: Tool.Net.dll
通信公共基础类
public abstract class StateObjectInheritance
Derived
QuicStateObject, TcpStateObject, UdpStateObject, WebStateObject
Inherited Members
object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()
Extension Methods
ObjectExtension.Add<T>(object, object, object), ObjectExtension.CopyEntity(object, object, params string[]), ObjectExtension.EntityToJson(object), ObjectExtension.EntityToJson(object, bool), ObjectExtension.EntityToJson(object, bool, string), DictionaryExtension.GetDictionary(object), TypeExtension.GetFieldKey(object, string, out bool), TypeExtension.GetFieldKey<T>(object, string, out bool), TypeExtension.GetFieldKey(object, Type, string, out bool), ObjectExtension.GetIntPtr(object), ObjectExtension.GetIntPtrInt(object), TypeExtension.GetPropertieFind(object, string, bool), TypeExtension.GetProperties(object), TypeExtension.GetPropertyKey(object, string, out bool), TypeExtension.GetPropertyKey<T>(object, string, out bool), TypeExtension.GetPropertyKey(object, Type, string, out bool), TypeExtension.GetValue(object, PropertyDescriptor), TypeExtension.GetValue(object, string, bool), TypeExtension.GetValue(object, string), ObjectExtension.Read<T>(object, object, int, int), ObjectExtension.Read<T>(object, int, object, int, int), DictionaryExtension.SetDictionary(object, IDictionary<string, object>), TypeExtension.SetFieldKey(object, string, object), TypeExtension.SetFieldKey<T>(object, string, object), TypeExtension.SetFieldKey(object, Type, string, object), TypeExtension.SetPropertyKey(object, string, object), TypeExtension.SetPropertyKey<T>(object, string, object), TypeExtension.SetPropertyKey(object, Type, string, object), TypeExtension.SetValue(object, PropertyDescriptor, object), TypeExtension.SetValue(object, string, object, bool), TypeExtension.SetValue(object, string, object), ObjectExtension.ToBase64String(object), ObjectExtension.ToBytes(object), ObjectExtension.ToBytes(object, out Type), DictionaryExtension.ToDictionary(object), DictionaryExtension.ToDictionary<T>(object), DictionaryExtension.ToIDictionary(object), DictionaryExtension.ToIDictionary<T>(object), ObjectExtension.ToJson(object), ObjectExtension.ToJson(object, JsonSerializerOptions), ObjectExtension.ToJsonWeb(object), ObjectExtension.ToJsonWeb(object, Action<JsonSerializerOptions>), ObjectExtension.ToTryVar<T>(object, T), ObjectExtension.ToVar<T>(object), ObjectExtension.ToVar(object, Type, bool), ObjectExtension.ToVar(object, string), ObjectExtension.ToXml(object)
Remarks
代码由逆血提供支持
Fields
EmptyIpv4Port
默认IP信息
protected static readonly Ipv4Port EmptyIpv4PortField Value
HeadSize
默认大小
public const int HeadSize = 6Field Value
Properties
KeepAliveObj
获取持久连接协议
public Span<byte> KeepAliveObj { get; }Property Value
Methods
CreateSocket(bool, NetBufferSize)
创建用于连接的 对象
public static Socket CreateSocket(bool isTcp, NetBufferSize bufferSize)Parameters
isTcp bool
是否是Tcp
bufferSize NetBufferSize
缓冲区枚举
Returns
对象GetIpPort(HttpListenerContext)
根据HttpListenerContext获取IP加端口
public static Ipv4Port GetIpPort(HttpListenerContext Context)Parameters
Context HttpListenerContext
Returns
GetIpPort(Socket)
根据Socket获取IP加端口
public static Ipv4Port GetIpPort(Socket Client)Parameters
Client Socket
Returns
GetIpPort(EndPoint)
根据EndPoint获取IP加端口
public static Ipv4Port GetIpPort(EndPoint iep)Parameters
iep EndPoint
Returns
HashCodeByte(in Memory<byte>)
根据字节获取哈希值
public static int HashCodeByte(in Memory<byte> bytes)Parameters
字节
Returns
哈希值
IsIpPort(string, out Ipv4Port)
根据传入字符串验证是否是IP加端口
public static bool IsIpPort(string IpPort, out Ipv4Port ipnum)Parameters
IpPort string
IP+端口
ipnum Ipv4Port
Returns
QueueUserWorkItem<T>(ReceiveEvent<T>, ReceiveBytes<T>)
任务事件线程池
public static void QueueUserWorkItem<T>(ReceiveEvent<T> receive, ReceiveBytes<T> data)Parameters
receive ReceiveEvent<T>
委托
data ReceiveBytes<T>
数据
Type Parameters
T
类型
ReceivedAsync<T>(ReceiveEvent<T>, ReceiveBytes<T>)
任务事件单实例
public static ValueTask ReceivedAsync<T>(ReceiveEvent<T> receive, ReceiveBytes<T> data)Parameters
receive ReceiveEvent<T>
委托
data ReceiveBytes<T>
数据
Returns
任务结果
Type Parameters
T
类型
SocketIsDispose(Socket)
获取 Disposed 属性
public static bool SocketIsDispose(Socket socket)Parameters
socket Socket