C#TLS会话断开连接

时间:2015-06-01 20:29:59

标签: c# session ssl

我有一个客户端/服务器TCP方案,其中TLS连接用C#编写。

客户端在安静并恢复(非活动时间~25分钟)后无法发送消息。但如果我让客户聊天(每30秒)就没问题了。

客户端和服务器都没有看到断开连接,但是流量停止流动(TLS会话中断???我只是在这里猜测)。

我需要保持连接,因为服务器需要随时回复。

一旦TCP套接字连接并且TLS验证

,服务器每5分钟就会有一次KeepAlives

Q1)有没有办法在C#中配置 SslStream 或套接字以使用TicketKeys并重用会话?

Q2)如果问题不是会话重用,如果我使用WireShark或NetMonitor,我应该寻找什么,以确定为什么流量不再流动,即使各方认为他们是连接?

THX

1 个答案:

答案 0 :(得分:-1)

  • 未在服务器和客户端上设置超时

    sslStream.ReadTimeout = 5000;
    sslStream.WriteTimeout = 5000;
    
  • 设置较大的超时时间

  • 执行以下命令: Ping / Pong 心跳命令,并在客户端的单独线程中,每隔X秒将Ping发送到服务器