asyncreceiveregistration.cs
来自「破解的飞信源代码」· CS 代码 · 共 44 行
CS
44 行
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 + =
减小字号Ctrl + -
显示快捷键?