http - 从非 Indy 客户端到 Indy 服务器的 10054 和 SSL 错误 (kbmMWTCPIPIndyServerTransport)
问题描述
我们有一个 kbmMW 服务器,它在后台使用 Indy TCPIP 服务器传输。我们有一个服务器,目前正在测试一个正在开发的移动客户端。
总的来说,一切运行良好,但我们偶尔会收到 10054 的 EIdSocketExceptions 和 EIdSSLExceptions。这似乎只是正常的 TCPIP“做生意的成本”。不幸的是,它发生在非 VCL 主线程中,并且正在使服务器崩溃。
我们的目标是简单地知道在何处、何时以及如何优雅地处理这些错误,以免服务器崩溃。
我在下面包含了 madExcept 日志:
线程 $19c0 (TIdThreadWithTask),内部异常级别 1:
EIdSocketError, Socket Error #10054 连接被对等方重置。0146005b +073 icms.exe IdStack 929 +54 TIdStack.RaiseSocketError 0145ffe2 +016 icms.exe IdStack 852 +1 TIdStack.RaiseLastSocketError 0145ff4d +015 icms.exe IdStack 826 +2 TIdStack.CheckForSocketBaseError 014587c5 +02d icms.exe IdBSDStackBase .Receive 014960b1 +011 icms.exe IdSocketHandle 319 +1 TIdSocketHandle.Receive 0149a0ee +006 icms.exe IdIOHandlerStack 378 +0 TIdIOHandlerStack.ReadDataFromSource 014a5f8d +009 icms.exe IdSSL 180 +1 TIdSSLIOHandlerSocketBase.ReadDataFromSource 01493005
还:
详细信息:接受与 SSL 的连接时出错。错误:1408A0C1:SSL 例程:ssl3_get_client_hello:没有共享密码
详细信息:接受与 SSL 的连接时出错。错误:1408A10B:SSL 例程:ssl3_get_client_hello:错误的版本号
详细信息:接受与 SSL 的连接时出错。观察到违反协议的 EOF
详细信息:接受与 SSL 的连接时出错。错误:1408F10B:SSL 例程:SSL3_GET_RECORD:错误的版本号
谢谢!
解决方案
推荐阅读
- jestjs - 如何使用 NestJS + Nest Crud 创建服务测试?
- javascript - 修复确定器之间最后一次出现字符串的正则表达式
- java - 在 Java 8 中加载自定义 TimeZoneNameProvider
- angular - 创建了一个引导导航栏角度应用程序,但是当涉及到移动响应时,它不会在点击时关闭默认值
- python - 如何在子类中使用“exec”在父类中执行函数?
- postgresql - 带有大表的 Geoserver WFS + PostgreSQL 速度极慢
- python - Add non-image features to the Inception network
- python - 具有多个维度的 Pivot DataFrame
- python - 用新值更新 pandas df
- c# - xamarin 表单无法将 TEAL 转换为 SYSTEM.DOUBLE