Skip to content

Class WebStateObject

Namespace: Tool.Sockets.Kernels
Assembly: Tool.Net.dll

对异步接收时的对象状态的封装,将Websocket与接收到的数据封装在一起

csharp
public class WebStateObject : StateObject

Inheritance

objectStateObjectWebStateObject

Inherited Members

StateObject.EmptyIpv4Port, StateObject.HeadSize, StateObject.KeepAliveObj, StateObject.CreateSocket(bool, NetBufferSize), StateObject.SocketIsDispose(Socket), StateObject.HashCodeByte(in Memory<byte>), StateObject.QueueUserWorkItem<T>(ReceiveEvent<T>, ReceiveBytes<T>), StateObject.ReceivedAsync<T>(ReceiveEvent<T>, ReceiveBytes<T>), StateObject.GetIpPort(HttpListenerContext), StateObject.GetIpPort(Socket), StateObject.GetIpPort(EndPoint), StateObject.IsIpPort(string, out Ipv4Port), 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

代码由逆血提供支持

Constructors

WebStateObject(WebSocketContext, int)

服务商构造

csharp
public WebStateObject(WebSocketContext context, int DataLength)

Parameters

context WebSocketContext

对象

DataLength int

包的大小

WebStateObject(in UserKey, WebSocket, int)

连接者构造

csharp
public WebStateObject(in UserKey SocketKey, WebSocket Client, int DataLength)

Parameters

SocketKey UserKey

连接标识

Client WebSocket

对象

DataLength int

包的大小

Properties

Client

为 WebSocket 网络服务提供客户端连接。

csharp
public WebSocket Client { get; }

Property Value

WebSocket

ListData

接收的数据

csharp
public Memory<byte> ListData { get; }

Property Value

Memory<byte>

SocketKey

当前对象唯一的连接票据

csharp
public UserKey SocketKey { get; }

Property Value

UserKey

State

返回 WebSocket 连接的当前状态。

csharp
public WebSocketState State { get; }

Property Value

WebSocketState

Remarks

WebSocket 连接的当前状态。

WebSocketContext

握手后的重要数据

csharp
public WebSocketContext WebSocketContext { get; }

Property Value

WebSocketContext

Methods

AbortAsync()

关闭当前用户连接以及数据

csharp
public Task AbortAsync()

Returns

Task

Close()

回收对象所以资源

csharp
public void Close()

IsConnected(WebSocket)

根据WebContext获取当前连接是否已经断开

csharp
public static bool IsConnected(WebSocket Client)

Parameters

Client WebSocket

Returns

bool

IsWebIpEffective(string)

返回可用的IP信息

csharp
public static Task<string> IsWebIpEffective(string ip)

Parameters

ip string

Returns

Task<string>

基于Apache-2.0协议开源