gpt4 book ai didi

c# - C#异步接收会导致系统范围内的网络崩溃!

转载 作者:行者123 更新时间:2023-12-03 12:06:43 28 4
gpt4 key购买 nike

我有一个非常奇怪的错误,对此我了解得很少,所以请多多包涵。

我有一个连接到硬件的 socket 。我同步发送,但异步接收。

我通过以下代码发送数据:

_dicSockets[lclIPEndPoint].Send(lclBytesSent, lclBytesSent.Length, SocketFlags.None);

并通过以下代码接收:
protected virtual void receiveCallback(IAsyncResult ar)
{
PFDoReceiveDataArgs receiveData = (PFDoReceiveDataArgs)ar.AsyncState;
Socket lclSocket = receiveData.MySocket;
etc...

当硬件在10秒内快速响应时,此方案可以正常工作。但是,当硬件花费更长的时间(大约5分钟)来响应时,就会发生疯狂的问题。在这段时间内,有一个线程处于while循环中,以检查命令是否已收到响应。

我知道硬件在这段时间内可以正常工作。我发送命令,五分钟后,响应到达。 5次中有4次没有问题,一切正常。相同的命令,相同的硬件,相同的一切...

5次中有1次发生系统范围的网络崩溃,我的互联网连接丢失了!

由于我不知道问题可能出在哪里,因此我将等待您的想法,并根据需要粘贴更多代码。

最佳答案

可能与问题不直接相关,但是我还将在控件离开receiveCallback方法上下文之前处理套接字实例。

关于c# - C#异步接收会导致系统范围内的网络崩溃!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4877800/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com