2011-01-03 4 views
0

나는 안드로이드 애플 리케이션을 만들고 있어요. 다른 장치로 데이터를 보내려면 TCP 소켓 연결이 필요합니다.연결이 거부되었습니다 - 소켓

모든 것이 처음 전송시에 정상적으로 작동합니다. 그러나 두 번째 연결하면 호스트 또는 바인드 오류로 연결을 거부했습니다.

이 바인딩 오류를 해결하기 위해 가능한 모든 작업을 수행했으며 연결이 거부되었습니다. 전송이 끝나면 읽기와 쓰기 모두 종료합니다. 주소를 다시 사용하려면 소켓 옵션을 설정하고 느린 옵션을 사용하십시오.

응용 프로그램을 완전히 종료하고 다시 열 때 제대로 작동하지만 종료하지 않고 연결을 열려고하면이 기능이 작동하지 않습니다.

문제가 소켓 또는 응용 프로그램과 관련이 있는지 여부와 이것이 해결 될 수있는 방법을 파악하는 데 도움이됩니까?

+0

문제를 격리하는 데 도움이되는 코드가 있습니까? – sahhhm

+0

두 번째 연결하기 전에 서버 쪽에서의 연결도 제대로 닫혔는지 확인하십시오. – ingsaurabh

+1

죄송합니다 .. 코드를 공유 할 수 없습니다 ... 모든 연결이 닫혔는지 확인했습니다 ... 모든 것이 완벽하게 닫힙니다. .. – Indhu

답변

0

서버 측 소켓을 닫은 후 다시 시도하기 전에 netstat -a의 출력을보십시오. ipaddress/port 쌍이 아직 다른 상태가 아닌 경우 TIME_WAIT으로 다시 연결할 수 없습니다. 서버 쪽 (accept을 호출하는 쪽)이 가장 많은 원인 일 가능성이 높지만 두 가지 모두를 확인하면 잘못된 것을 볼 수 있습니다.

관련 문제