如何创建C#Compact Framework非阻塞套接字
|
我正在尝试在WM6 C#中创建一个非阻塞套接字,但我不断收到以下编译器错误:
\“非阻塞套接字不支持同步调用。设置Blocking = true或使用异步方法。”
但是,当我使用BeginReceive()异步方法时,EndReceive()被阻止。与BeginSend()和EndSend()相同。您如何在紧凑框架内实现无阻塞套接字?
这是我的代码。我没有使用AsyncCallback方法,因为我想返回bytesRecv和bytesSent变量。
private void asyncReceive(byte[] recvBytes, int offset, int size, SocketFlags sf)
{
IAsyncResult asyncResult = null;
int recvBytes = 0;
try
{
asyncResult = _socket.BeginSend(sendBytes, offset, size, sf, null, null);
recvBytes = _socket.EndSend(asyncResult); // <-- This blocks even with _socket.Blocking = false;
}
catch (SocketException)
{
//Check SocketException.ErrorCode...
}
return recvBytes;
}
没有找到相关结果
已邀请:
1 个回复
搁手