좋은 튜토리얼. .net 비동기 서버 소켓을 실행하는 PC가 안드로이드 서버 대신 사용되는 경우이 작동합니까? 이 소켓에 연결된 채널이 있는 경우 결과 입력 스트림은 모든 작업을 채널로 위임합니다. 채널이 비차단 모드인 경우 입력 스트림의 읽기 작업에서 IllegalBlockingModeException이 throw됩니다. 먼저, 우리는 두 개의 안 드 로이드 응용 프로그램 프로젝트를 만들어야 합니다., 하나는 서버에 대 한 그리고 클라이언트에 대 한 하나. 서버의 프로젝트 생성을 자세히 설명해 보겠습니다. 물론 클라이언트 프로젝트 생성에도 마찬가지입니다. 그런 다음 클라이언트 측에서는 필요한 코드를 제시할 것입니다. 안녕 선생님, 좋은 튜토리얼 은 안드로이드 장치 사이의 소켓을 통해 전송하는 방법, 어떤 해결책이 나에게 대답을 주십시오, 소켓에 버퍼링 바이트가없는 경우 이러한 문제를 해결하는 방법, 또는 모든 버퍼링 바이트는 읽기에 의해 소비 된 경우, 다음 모든 후속 읽을 호출은 IOException을 throw합니다. 반환된 InputStream을 닫으면 관련 소켓이 닫힙집니다. 이 자습서에서는 TCP 연결을 만듭니다. 서버는 Java로 작성되고 클라이언트는 Android로 작성됩니다.
실제로 그것은 매우 간단한 메신저 클라이언트가 될 것입니다. 이 자습서에서는 java 소켓을 사용하여 서버-클라이언트 통신을 달성합니다. 클라이언트 사용자는 EditText에서 IP 및 포트 세부 정보를 채운 다음 연결을 누릅니다. 서버가 쿼리에 재생됩니다. 클라이언트의 구현을 위해 우리는 AsyncTask . 소켓은 IP 및 포트 세부 정보를 사용하여 생성되고 서버에서 재생이 디코딩됩니다. 소켓옵션#SO_LINGER에 대한 설정을 반환합니다. -1 반환은 옵션이 비활성화됨을 의미합니다. 이 설정은 소켓 닫기만 영향을 줍니다.
응용 프로그램은 안드로이드 시뮬레이터 (클라이언트만 작동)에서 테스트되었으며 삼성 갤럭시 S6 (클라이언트 및 서버 작동). 이 클래스는 클라이언트 소켓(“소켓”이라고도 함)을 구현합니다. 소켓은 두 컴퓨터 간의 통신을 위한 끝점입니다. 비정상적인 조건에서기본 연결이 원격 호스트 또는 네트워크 소프트웨어(예: TCP 연결의 경우 연결 재설정)에 의해 끊어질 수 있습니다. 네트워크 소프트웨어에 의해 연결이 끊어지면 반환된 입력 스트림에 다음이 적용됩니다:- 이 소켓의 입력 스트림을 “스트림의 끝”에 배치합니다. 소켓의 입력 스트림 측으로 전송된 모든 데이터는 승인된 다음 자동으로 삭제됩니다. 스트림 인수가 true이면 스트림 소켓이 만들어집니다. 스트림 인수가 false이면 데이터그램 소켓을 만듭니다.
소켓 옵션 사용/사용 안 함#SO_OOBINLINE(TCP 긴급 데이터 수신) 기본적으로 이 옵션은 비활성화되고 소켓에서 수신된 TCP 긴급 데이터는 자동으로 삭제됩니다. 참고 :이 튜토리얼은 이클립스 4.3, 자바 1.6 및 안드로이드 4.4.2를 기반으로합니다.