日安,
因此,我有一个c#项目,它连接到zkteco时间和考勤单元(k30是设备名称)
有时,在尝试连接时,随机地从sdk代码-10054返回一个错误。
这是我用来连接的代码
bIsConnected = BMDevice.Connect_Net(ipAddress, 4370);这是用于返回错误的代码
BMDevice.GetLastError(ref ErrorCode);我似乎无法复制错误,并且在所提供的文档中没有编号为10054的ErrorCode。我可以将设备和telnet的端口号分配给ip,也可以使用设备本身。
要通过这一点,我必须手动重启设备,然后我可以连接没有任何问题。
试着去问zkteco人,但是和我谈话的人帮不上什么忙
发布于 2021-06-02 00:26:15
ZKTeco文档没有解释-10054意味着什么,但可以推断此错误是WSAECONNRESET套接字错误。
来自MSDN
通过对等点重新设置连接。远程主机强行关闭了现有连接。通常情况下,如果远程主机上的对等应用程序突然停止,主机被重新启动,主机或远程网络接口被禁用,或者远程主机使用硬关闭(有关远程套接字上的SO_LINGER选项的更多信息,请参见setsockopt )。如果当一个或多个操作正在进行时,由于保持活动而中断连接,则可能会导致此错误。正在进行的操作在WSAENETRESET中失败。后续操作在WSAECONNRESET中失败。
根据我的经验,错误-10054主要发生在网络中有两个具有相同IP地址的ZKTeco设备时。这就是为什么你必须手动重启设备。
https://stackoverflow.com/questions/46544541
复制相似问题