TLS-通过2个不同的客户端端口连接到服务器端口80

时间:2019-12-13 07:45:45

标签: ssl tcp server client tls1.2

我目前正在通过使用openSSL库来处理TLS协议。我有一台服务器,最多监听5个端口,监听端口80。

当我要通过2个不同的应用程序通过不同的端口进行连接时,对于第一次连接,TCP握手和TLS握手已成功建立。

但是对于第二个连接,仅建立TCP握手。仅当我关闭第一个连接的套接字时,才会处理TLS握手。

有人有经验吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

  

有人有经验吗?

这似乎是您的应用程序中的问题。我猜它只能同时处理一个客户端,即它是单线程,单进程的,并且不支持基于事件的I / O。假设您没有显示任何代码,那么这当然只是一个有根据的猜测,它将解释您看到的行为:

TCP连接由OS内核处理。 TLS握手在应用程序内部处理。使用第一个客户端,TCP(在内核中)和TLS(在应用程序中)握手都将成功。对于第二个客户端,TCP握手也将成功,因为它是在OS内核中处理的。但是,只有在应用程序能够处理TLS握手后,TLS握手才会成功,即与第一个客户端一起完成。