android 소켓 통신 예제

나는 그것을 도울 수 없다하지만 나는 이클립스 “/ TODO 자동 생성 캐치 블록”부품심각한 예를 취할 수 없습니다. 이 자습서에서는 java 소켓을 사용하여 서버-클라이언트 통신을 달성합니다. 클라이언트 사용자는 EditText에서 IP 및 포트 세부 정보를 채운 다음 연결을 누릅니다. 서버가 쿼리에 재생됩니다. 클라이언트의 구현을 위해 우리는 AsyncTask . 소켓은 IP 및 포트 세부 정보를 사용하여 생성되고 서버에서 재생이 디코딩됩니다. 소켓은 서로 다른 측면 t 통신을위한 인터페이스의 일종으로, 일반적으로 IP와 포트로 식별됩니다. 서버에는 많은 서버 쪽 소프트웨어가 있으며 다른 서비스를 제공합니다. 각 서버는 많은 소켓을 만들고 클라이언트가 들을 수 있도록 일부 포트에 바인딩합니다. 성능 기본 설정은 짧은 연결 시간, 낮은 대기 시간 및 높은 대역폭의 상대적 중요성을 나타내는 세 정수에 의해 설명됩니다.

정수의 절대 값은 관련이 없습니다. 프로토콜을 선택하기 위해 값은 단순히 비교되며 값이 클수록 더 강한 기본 설정을 나타냅니다. 음수 값은 양수 값보다 낮은 우선 순위를 나타냅니다. 예를 들어 응용 프로그램이 낮은 대기 시간 및 높은 대역폭 에 비해 짧은 연결 시간을 선호하는 경우 값(1, 0, 0)으로 이 메서드를 호출할 수 있습니다. 응용 프로그램이 낮은 대기 시간 보다 높은 대역폭을 선호 하 고 짧은 연결 시간 이상의 낮은 대기 시간을 선호 하는 경우 다음 값 (0, 1, 2)와 함께이 메서드를 호출할 수 있습니다. 서버 응용 프로그램과 마찬가지로 새 Android 응용 프로그램 프로젝트를 만듭니다. 그리고 각 파일에 다음 코드 조각을 붙여 넣기: AndroidManifest.xml이 클래스에 권한을 추가 하는 것을 잊지 마세요이 클래스는 클라이언트의 모든 구현을 포함. 이 클래스는 멀티태스킹이 쉬워지도록 AsyncTask를 확장하여 만들어집니다. 사용자가 제공한 IP 및 포트 세부 정보를 사용하여 소켓을 만듭니다. Next getInputStream()은 이 소켓에서 데이터를 읽을 수 있도록 InputStream을 얻기 위해 생성된 소켓에서 호출됩니다. 데이터가 읽을 때까지 연결이 차단됩니다.

이 모든 예외를 처리 해야 합니다 시도 catch 블록에서 수행 해야 합니다. 이 소켓에서 I/O 작업에서 현재 차단된 모든 스레드는 SocketException을 throw합니다. 이 소켓의 입력 스트림을 “스트림 끝”에 배치합니다. 소켓의 입력 스트림 측으로 전송된 모든 데이터는 승인된 다음 자동으로 삭제됩니다. 응용 프로그램에서 서버 소켓 팩터리를 지정한 경우 해당 팩터리의 createSocketImpl 메서드가 호출되어 실제 소켓 구현을 만듭니다. 그렇지 않으면 “일반” 소켓이 만들어집니다. 소켓은 응용 프로그램과 네트워크 간의 인터페이스입니다. 소켓 유형은 통신 의 스타일을 신뢰할 수 있는 대 최상의 노력 연결 지향 대 연결 없는 지정합니다. 일단 구성되면 응용 프로그램은 소켓에서 데이터를 수신 (다른 호스트에 의해 네트워크를 통해 전송) 네트워크 전송을 위해 소켓에 데이터를 전달할 수 있습니다. 소켓은 응용 프로그램의 소프트웨어 끝점입니다.

Socket을 사용하면 한 시스템의 프로세스가 시스템의 다른 프로세스와 통신할 수 있습니다. 소켓이 닫히면 추가 네트워킹(예:)에 사용할 수 없습니다.