我有一个在 Raspi 3 windows 10 IOT Build 14279 上运行的应用程序,在我按下按钮后立即连接、发送、关闭套接字。应用程序运行正常 5 分钟后出现 BSOD 并显示消息“IRQL_NOT_LESS_OR_EQUAL (NETIO.SYS)”。对不起我的英语这是我的代码
private async Task Connect()
{
if(connected||connecting)
{
return;
}
connecting = true;
_socket = new StreamSocket();
try
{
await _socket.ConnectAsync(hostname, "100");
connected = true;
connecting = false;
}
catch (Exception exception)
{
if (SocketError.GetStatus(exception.HResult) == SocketErrorStatus.Unknown)
{
throw;
}
connecting = false;
_socket.Dispose();
_socket = null;
}
}
private async Task Send(byte[] S)
{
if(!connected)
{
return;
}
try
{
DataWriter writer = new DataWriter(_socket.OutputStream);
writer.WriteInt32(S.Length);
writer.WriteBytes(S);
await writer.StoreAsync();
writer.DetachBuffer();
writer.Dispose();
}
catch (Exception exception)
{
if (SocketError.GetStatus(exception.HResult) == SocketErrorStatus.Unknown)
{
throw;
}
_socket.Dispose();
_socket = null;
connected = false;
}
}
private void CloseSocket()
{
if(!connected)
{
return;
}
connected = false;
_socket.Dispose();
_socket = null;
}