我们有一个产品,其中客户端连接到服务器。 客户端在 C 中实施,并使用 OpenSSL ,而服务器则使用 Java 实施代码包含 BufferedInputStream 和 BufferedOutputStream 。以下是我的观察:
我想了解为什么 startHandshake()花了这么长时间。我知道这是一个异步调用,但IMO的时间延迟仍然太长。是否与使用的套接字配置/密码/加密有关?使用 ssldump 我发现在发送客户端的hello请求和服务器的后续响应之间绝对没有数据传输,所以显然 startHandshake()一直是忙着做什么或者什么都不做 - 我不知道。 FWIW,这不是网络延迟问题,1)所有盒子都在同一网络上,2)所有其他数据传输合并时间不到0.4秒。
有人可以建议可能出现的问题或可以采取哪些措施来解决这个问题?可能是一些套接字或SSL设置,使用的加密/密码,还是其他什么?