소켓은 2시간마다 피어에 의해 재설정됩니다.

소켓은 2시간마다 피어에 의해 재설정됩니다.

클라이언트는 TCP 소켓을 통해 SSL(openssl)을 사용하여 서버에 연결합니다.

진행 중인 통신이 없는 경우 2시간(추가 몇 분) 후에 클라이언트는 "소켓 오류. 피어에 의한 연결 재설정"이라는 메시지를 표시합니다.

이 경고를 받은 후 클라이언트가 새 연결을 열도록 며칠 동안 테스트했는데 패턴이 2시간마다 반복되었습니다. 클라이언트와 서버에서 크론 작업을 살펴봤지만 이 작업을 수행할 수 있는 작업은 볼 수 없습니다.

소켓 서버(reactphp)는 소켓이 닫혔는지 알지 못합니다.

2시간마다 연결이 재설정되는 원인은 무엇입니까? 이를 수행할 수 있는 커널 구성 설정이 있습니까?

답변1

TCP 연결 유지. 2시간 이후에는 사용하지 않으면 연결이 끊어집니다. 쉽게 변경할 수 있습니다. 바라보다http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/usingkeepalive.html

간단히 말해서, 노출된 커널 조정 가능 "tcp_keepalive_time"을 통해 /proc/sys/net/ipv4/tcp_keepalive_time필요에 따라 기본 7200에서 변경할 수 있습니다.

관련 정보