ssl - 服务器设计: Send UDP packet for SSLTCP wakeup?

标签 ssl tcp udp

我有一台服务器,它会为每个安全连接的客户端创建一个新线程。如果我使用线程池,这意味着我将同时拥有有限数量的客户端。然而,这意味着我不能监听所有客户端的端口。

我的想法是让客户端发送一个 UDP 数据包,其中包含一些链接到那里的连接的 ID,这样他们就可以重新建立连接,而不是将线程锁定 10-60 秒(服务器会将 SSLsockets 保存在内存中) . 这是解决问题的好方法吗? - 我没有看到任何安全漏洞。

服务器是 java,客户端是 C++,这不会影响问题。

最佳答案

你的问题没有意义。如果客户端想要重新连接,它应该只打开一个新套接字。您至少设置了一个额外的线程来监听 UDP 端口,然后……什么?它仍然必须使用线程池来处理该客户端,如果这是您自己施加的约束,或者启动一个新线程,在这种情况下,您可能一开始就没有线程池约束。

However this means I cannot be listening on ports for all clients.

不,它没有。这只是意味着在线程池已满时,部分客户端会延迟服务,而在积压队列已满时,极少数客户端会连接失败。它根本不会削弱您倾听客户的能力。

关于ssl - 服务器设计: Send UDP packet for SSLTCP wakeup?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14330494/

相关文章:

android - 使用 ssl 的 phonegap 中的文件上传问题

java - 什么是客户端 key 以及如何生成一个?

c++ - Boost::ASIO:优化以最小的流量,长连接,小消息,立即传递

javascript - 无法连接到 CloudFoundry 上的 TCP 服务器(localhost node.js 工作正常)

c++ - Linux 中 C++ 中的 UDP

python - 无法在 CherryPy 3.8.0 上使用 SSL

ios - NSURLSession 身份验证不起作用

scala - Akka TCP 客户端 : How can I send a message over TCP using akka actor

c++ - 绑定(bind)并连接的 Boost.Asio 数据报 (UDP) 套接字

javascript - 使用 UDP 的 Node.js 文件传输