c# TLS会话断开
本文关键字:断开 会话 TLS | 更新日期: 2023-09-27 17:51:22
我有一个客户端/服务器TCP场景,使用c#编写TLS连接。
客户端在安静并恢复(非活动时间~25分钟)后无法传递消息。但如果我保持客户端聊天(每30秒一次),就没有问题。
客户端和服务器都没有看到断开连接,但流量停止流动(TLS会话中断??我只是猜测)。
我需要保持连接,因为服务器需要随时响应。
TCP套接字连接和TLS身份验证后,服务器每5分钟有一次keepalive
Q1)是否有一种方法可以配置SslStream或c#中的套接字来使用TicketKeys并重用会话?
Q2)如果问题不是会话重用,如果我使用WireShark或NetMonitor,我应该寻找什么,以确定为什么流量不再流动,即使各方认为他们是连接的?
Thx
-
不要在服务端和客户端设置超时
sslStream.ReadTimeout = 5000; sslStream.WriteTimeout = 5000;
-
设置大超时
-
实现如下命令:Ping/Pong心跳命令,在客户端,在单独的线程中,每隔X秒发送Ping到服务器