안드로이드 스튜디오 소켓 통신 예제

안녕 선생님,좋은 튜토리얼 은 안드로이드 장치 사이에, 소켓을 통해 전송하는 방법, 어떤 해결책이 나에게 대답을 주십시오,이 튜토리얼에서 우리는 안드로이드 응용 프로그램에서 소켓을 사용하는 방법을 볼 수 있습니다이 튜토리얼에서 이러한 문제를 해결하는 방법이 있습니다. Android에서 소켓은 Java SE에서와 똑같이 작동합니다. 이 예제에서는 두 개의 서로 다른 에뮬레이터에서 서버 및 클라이언트 android 응용 프로그램을 실행 하는 방법을 살펴보겠습니다. 이렇게 하려면 포트 포워딩과 관련하여 몇 가지 특별한 구성이 필요하지만 나중에 이에 대해 논의할 예정입니다. 소켓 옵션#SO_LINGER를 활성화/비활성화하고 지정된 여분 시간(초)으로 설정합니다. 이 소켓에서 보낸 패킷에 대해 IP 헤더에 트래픽 클래스 또는 서비스 유형 옥텟을 설정합니다. 기본 네트워크 구현이 무시할 수 있으므로 응용 프로그램은 이를 힌트로 고려해야 합니다. 소켓 = 서버소켓.accept(); 통신스레드 commThread = 새 통신 스레드(소켓); 소켓을 만들 때 소켓옵션#SO_REUSEADDR의 초기 설정이 비활성화됩니다. 먼저, 우리는 두 개의 안 드 로이드 응용 프로그램 프로젝트를 만들어야 합니다., 하나는 서버에 대 한 그리고 클라이언트에 대 한 하나. 서버의 프로젝트 생성을 자세히 설명해 보겠습니다. 물론 클라이언트 프로젝트 생성에도 마찬가지입니다. 그런 다음 클라이언트 측에서는 필요한 코드를 제시할 것입니다.

이 소켓에서 I/O 작업에서 현재 차단된 모든 스레드는 SocketException을 throw합니다. […] 서버 측 구현에 있습니다. 우리는 우리의 이전 게시물에서 클라이언트 측 구현을 커버했다 „소켓을 사용하여 안드로이드 클라이언트 서버 – 클라이언트 구현” 안드로이드는 사용자가 제공과 함께 혁신적인 아이디어를 구현 할 수 있도록 라이브러리의 매우 광대 한 세트가 […] line1 outputStream = hostThread소켓.getOutputStream(); 바인딩(java.net.SocketAddress)을 사용하여 소켓을 바인딩하기 전에 소켓옵션#SO_REUSEADDR 을 사용하도록 설정하면 이전 연결이 시간 시간 지정 상태에 있는 경우에도 소켓을 바인딩할 수 있습니다. 이 생성자는 더 이상 사용되지 않습니다. UDP 전송대신 데이터그램소켓을 사용합니다. 나는 스케치를 실행하는 동안이 오류가 발생 : java.lang.NullPointerException : 기본 네트워크 구현이 무시할 수 있기 때문에 null 개체 참조에서 가상 메서드 `java.io.OutputStream java.net.net.getOutputStream()`를 호출하려고 시도합니다. setTrafficClass(int)를 사용하는 트래픽 클래스 또는 서비스 유형 집합은 이 소켓에서 setTrafficClass(int) 메서드를 사용하여 이전에 설정한 것과 다른 값을 반환할 수 있습니다.