서버에 데이터를 지속적으로 보내는 TCP 클라이언트가 있습니다. 클라이언트와 서버가 성공적으로 연결되면 클라이언트는 몇 초 간격으로 데이터를 계속 전송합니다.리눅스에서 send-q TCP 소켓의 내용을 읽으십시오.
데이터를 거의 보내지 않은 상태에서 클라이언트와 서버 간의 연결이 끊어지면 TCP_retries2의 값에 따라 TCP가 데이터를 다시 전송한다는 것을 알게되었고이 값을 8로 구성하여 이후에 쓰기 오류가 발생합니다. 100 초. 그러나 send-q에는 승인되지 않은 패킷이있을 것입니다.
이 소켓을 닫기 전에 내 프로그램에서 send-q의 승인되지 않은 패킷의 내용을 읽는 방법이 있습니까? 아니면 데이터를 보내고 다시 연결 한 후 다시 보내야합니까? 이것을 구현하는 다른 방법이 있습니까?
답장을 보내 주셔서 감사합니다. 현재 신청서 승인을받지 못했습니다. 나는 클라이언트 측으로부터 재전송 time_out 오류를 받기 전에 100 초를 보낸 모든 데이터를 전송할 것을 생각했다. 나는 신청 수준 승인에 대해 생각해야한다. – Praveen