我有一个客户端/服务器TCP方案,其中TLS连接用C#编写。
客户端在安静并恢复(非活动时间~25分钟)后无法发送消息。但如果我让客户聊天(每30秒)就没问题了。
客户端和服务器都没有看到断开连接,但是流量停止流动(TLS会话中断???我只是在这里猜测)。
我需要保持连接,因为服务器需要随时回复。
一旦TCP套接字连接并且TLS验证
,服务器每5分钟就会有一次KeepAlivesQ1)有没有办法在C#中配置 SslStream 或套接字以使用TicketKeys并重用会话?
Q2)如果问题不是会话重用,如果我使用WireShark或NetMonitor,我应该寻找什么,以确定为什么流量不再流动,即使各方认为他们是连接?
THX
答案 0 :(得分:-1)
未在服务器和客户端上设置超时
sslStream.ReadTimeout = 5000;
sslStream.WriteTimeout = 5000;
设置较大的超时时间
执行以下命令: Ping / Pong 心跳命令,并在客户端的单独线程中,每隔X秒将Ping发送到服务器