소켓 관련 질문드립니다
글쓴이: fenign / 작성시간: 월, 2006/12/04 - 8:43오후
소켓 프로그래밍.. 예제도 많고 프로그램도 간단해서 쉽게쉽게 사용하는데
이놈이 골탕먹이기 시작하면 한도 끝도 없네요 ㅠ.ㅠ
서버랑 클라이언트랑 둘이 잘 연결되어서 데이터 주고 받다가
어느 순간 서버는 계속 보내는데 클라이언트가 이를 받지 못하는 상황이 발생한다면
어떤 것부터 점검해 보아야 할까요....ㅠ.ㅠ
그 상황에서 클라이언트가 보내는 메시지가 서버에는 전달되고
서버는 그에 응답을 하는데 서버가 보내는 걸 클라이언트는 못 받네요;;
데이터도 못 받고 응답 메시지도 못 받고....;;
한없이 기다리기만 하네요 ㅠ.ㅠ
Forums:
내부버퍼문제
/r/n 을 뒤에 붙여서 전송
패킷 검사
문맥상 tcp 를 사용하시는 것 같은데,
우선적으로 패킷이 제대로 나가는지 서버측에서 tcpdump 같은 것으로 검사해보시고,
패킷이 제대로 나간다면 클라이언트 측에 제대로 도달하는지 확인하기 위해서 클라이언트 측에서 netstat 를 사용하면 됩니다.
netstat 에서 서버와 연결된 부분의 Recv-Q 큐에 데이터가 쌓이고 있는지 확인해보시면 됩니다.
만일 Recv-Q 가 계속 증가하고 있다면(서버에서 보낸만큼) 클라이언트 프로그램의 recv() 를 호출하는 부분이 문제가 있다는 것이죠.
========================================
* 부분이 전체를 대변하는 하나의 속성일때 진리이다.
영속적이지 못한 것은 전체가 될 수 없다.
========================================
* The truth will set you free.
감사합니다. 좀 더
감사합니다. 좀 더 찾아보고 질문 드리겠습니다.
댓글 달기