안드로이드 tcp 소켓 통신 예제

시스템 기본 유형인 SocketImpl을 사용하성으로 연결되지 않은 소켓을 만듭니다. 이 소켓을 닫으면 소켓의 InputStream 및 OutputStream도 닫힙습니다. 소켓옵션#SO_REUSEADDR이 소켓에 바인딩된 후 활성화되거나 비활성화된 동작(isBound(참조))은 정의되지 않았습니다. 응용 프로그램에 대한 클라이언트 소켓 구현 팩터리를 설정합니다. 팩터리는 한 번만 지정할 수 있습니다. 소켓옵션#SO_REUSEADDR 소켓 옵션을 사용/비활성화합니다. 이 클래스에는 클라이언트의 모든 구현이 포함됩니다. 이 클래스는 멀티태스킹이 쉬워지도록 AsyncTask를 확장하여 만들어집니다. 사용자가 제공한 IP 및 포트 세부 정보를 사용하여 소켓을 만듭니다. Next getInputStream()은 이 소켓에서 데이터를 읽을 수 있도록 InputStream을 얻기 위해 생성된 소켓에서 호출됩니다.

데이터가 읽을 때까지 연결이 차단됩니다. 이 모든 예외를 처리 해야 합니다 시도 catch 블록에서 수행 해야 합니다. 비정상적인 조건에서기본 연결이 원격 호스트 또는 네트워크 소프트웨어(예: TCP 연결의 경우 연결 재설정)에 의해 끊어질 수 있습니다. 네트워크 소프트웨어에 의해 연결이 끊어지면 반환된 입력 스트림에 다음이 적용됩니다:- 인터넷 프로토콜 v4의 경우 값은 정수로 구성되며, 그 중 가장 중요한 8비트는 전송된 IP 패킷에서 TOS 옥텟의 값을 나타냅니다. 소켓을 참조하십시오. RFC 1349는 TOS 값을 다음과 같이 정의합니다: 성능 기본 설정은 짧은 연결 시간, 낮은 대기 시간 및 높은 대역폭의 상대적 중요성을 나타내는 세 정수에 의해 설명됩니다. 정수의 절대 값은 관련이 없습니다. 프로토콜을 선택하기 위해 값은 단순히 비교되며 값이 클수록 더 강한 기본 설정을 나타냅니다. 음수 값은 양수 값보다 낮은 우선 순위를 나타냅니다. 예를 들어 응용 프로그램이 낮은 대기 시간 및 높은 대역폭 에 비해 짧은 연결 시간을 선호하는 경우 값(1, 0, 0)으로 이 메서드를 호출할 수 있습니다. 응용 프로그램이 낮은 대기 시간 보다 높은 대역폭을 선호 하 고 짧은 연결 시간 이상의 낮은 대기 시간을 선호 하는 경우 다음 값 (0, 1, 2)와 함께이 메서드를 호출할 수 있습니다.

에 의해 게시 됨: 니코스 마라비타스 소켓 5 월 26 th, 2013 5 댓글 보기 […] Kaynak: 소켓을 사용 하 여 안 드 로이드 클라이언트-서버 – 클라이언트 구현 […] 참고: 소켓을 닫으면 바인딩 상태가 지워지지 않으므로 이 메서드는 닫히기 전에 성공적으로 바인딩된 경우 닫힌 소켓에 대해 true를 반환합니다(isClosed()참조).