📄 asyncreceiveregistration.cs
字号:
namespace NCindy.Protocol.UDT
{
using NCindy.CommandProcessor;
using System;
using System.Net.Sockets;
internal sealed class AsyncReceiveRegistration : ICommand
{
internal int OverlappedIoHanlde;
internal byte[] ParamBuffer;
internal AsyncCallback ParamCallBack;
internal int ParamOffset;
internal int ParamSize;
internal SocketFlags ParamSocketFlags;
internal object ParamState;
internal UDTSocket Socket;
internal AsyncReceiveRegistration(UDTSocket socket, byte[] paramBuffer, int paramOffset, int paramSize, SocketFlags paramSocketFlags, AsyncCallback paramCallBack, object paramState)
{
this.Socket = socket;
this.ParamCallBack = paramCallBack;
this.ParamState = paramState;
this.ParamBuffer = paramBuffer;
this.ParamOffset = paramOffset;
this.ParamSize = paramSize;
this.ParamSocketFlags = paramSocketFlags;
}
public void Execute()
{
if (!this.Socket.Connected)
{
this.ParamCallBack(new UDTAsyncResult(0, this.ParamState));
}
else
{
int size = this.Socket.Receive(this.ParamBuffer, this.ParamOffset, this.ParamSize, this.ParamSocketFlags);
this.ParamCallBack(new UDTAsyncResult(size, this.ParamState, this.Socket, this.OverlappedIoHanlde));
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -