2012-08-07 4 views
-1

TCP 소켓 연결 을 통해 212KByte의 버퍼를 보내려고하지만 응답으로 피어 오류로 인해 RST 패킷 및 연결 재설정이 수신됩니다.대용량 데이터를 전송할 때 피어에 의한 Tcp 연결 재설정

SO_RCVBUF 및 SO_SBNBUF 속성을 256KB로 변경했으며 max_buf 시스템 속성이> 256K 인지도 확인했습니다.여전히 큰 데이터를 보내려고하면 연결이 실패합니다.

저는 소켓 프로그래밍에 익숙하지 않으므로 더 많은 정보가 필요하면 알려주십시오. 일부 소켓 옵션이 누락되었다고 생각합니다.

OS : 솔라리스 SPARC

+0

질문의 제목을 두 개의 URL이 아닌 좀 더 자세한 설명으로 수정하십시오. –

+0

@DanielDaranas 상기시켜 주셔서 감사합니다. – Yogesh

답변

0

이 오류는 일반적으로 이미 다른 쪽 끝을에 의해 폐쇄 된 연결로 작성했습니다 의미합니다. 다른 원인이 있지만 이것이 가장 일반적입니다. 수령인은 실제로 당신이 보내는 크기를 다루어야합니까?

+0

.받는 사람과 보낸 사람 모두 동일한 SENDING 및 RECEIVING 버퍼 크기를가집니다. 클라이언트 컴퓨터와 서버 컴퓨터 모두의 스누핑 캡처가 있는데, 클라이언트에서 1500 바이트 크기의 세그먼트가 보내지는 것을 볼 수 있습니다. 서버가 수신합니다. 하지만 일부 문제 때문에 서버가 연결을 재설정하는 클라이언트에 RST messge를 보내는 중입니다. – Yogesh

+0

@ Yogesh 나는 송신 또는 수신 버퍼 크기에 관해 묻지 않았다. 내가 물었던 질문에 당신은 대답 하는게 어때요? 분명히 전체 문제는 '문제 때문에'중심에있다. 서버 로그를 보셨습니까? – EJP

+0

감사합니다. 포인터가 많이 있습니다. 버퍼 크기가 64KB보다 클 때 채널을 연결 해제하기 위해 서버 측에 체크가있었습니다. 이제는 잘 작동합니다. – Yogesh