当将Indy TCP Server与IO处理程序一起使用时,我们会得到以下错误。
routines:SSL23_GET_CLIENT_HELLO:unknown协议
此错误看起来类似于SSL Libary问题10.3.3,但是对于Delphi 11,这些修复已经到位。
更新Indy在11中是不可能的,因为您无法卸载这些功能。
有人有固定的方法或工作吗?
发布于 2022-01-12 11:24:38
正如Remy Lebeau前面所指出的,问题不是与indy组件库本身有关,而是与一个较旧的实现有关。
在我们的例子中,我们在Delphi和Indy的早期版本中设置了PassThrough:
TIdSSLIOHandlerSocketBase(AContext.Connection.IOHandler).PassThrough := False;这直到Delphi10.3.3还没有引起任何问题,但是,为了使客户机和服务器正常工作,必须在11中删除这段代码。
发布于 2022-06-20 10:51:29
Delphi10.3有TIdSSLIOHandlerSocketBase in IdSSL.pas,默认情况下,在创建时将fPassThrough设置为false
TIdSSLIOHandlerSocketBase in IdSSL.pas的以后版本包括InitComponent过程,它设置fPassThrough := True;
这似乎是一个重大变化,也破坏了我们的执行。
解决这一问题的方法
https://stackoverflow.com/questions/70670746
复制相似问题