c++ - 使用 OpenSSL C++ 连接 TCP 端口时抛出 10054 错误?
问题描述
我尝试用它的 TCP 端口连接远程主机。
命令提示符返回 10054 错误
当我从 C++ 应用程序尝试时,同样的返回
openssl 命令:s_client -connect url:port
WSAECONNRESET 10054
对等方重置连接。现有连接被远程主机强行关闭。如果远程主机上的对等应用程序突然停止,主机重新启动,主机或远程网络接口被禁用,或者远程主机使用硬关闭,这通常会导致(有关远程主机上 SO_LINGER 选项的更多信息,请参阅 setsockopt插座)。如果在一个或多个操作正在进行时,由于保活活动检测到故障而导致连接中断,则也可能导致此错误。正在进行的操作因 WSAENETRESET 而失败。后续操作因 WSAECONNRESET 而失败。
解决方案
鉴于s_client
您的(未知)应用程序都是这种情况,它可能既不是您的应用程序的错,也不是s_client
. 相反,原因可能是您的系统和服务器之间的防火墙阻止了连接,或者您尝试连接到首先不使用 TLS 的服务,例如通过连接到普通 HTTP 而不是 HTTPS 服务. 如果您将失败的完整输出包含在您的问题中,则可能会提供更多信息 openssl s_client
。
推荐阅读
- kdb - 在给定时间戳列表的情况下获得 asof 价格的最佳方式
- dynamics-365 - 在 Dynamics 365 中哪里可以找到业务中心 API 的环境名称
- javascript - 你如何让球弹到 Y 位置
- powershell - PowerShell 哈希表引用返回 null
- session - 通过 google-apps-script 获取 errorCode":"E0000005","errorSummary":"Invalid session"
- amazon-web-services - Sagemaker 上的自定义训练 Tensorflow:警告 keras.py:603 在使用 tf.function 前向传递期间无法保存层值
- python - Discord bot 命令有时有效
- angular - Angular on icon click 切换类名或类名的一部分
- windows - 有没有办法使用cmder过滤Windows中的命令历史记录?
- excel - 同一个工作簿中的两张工作表调试错误?