중앙 서버가 두 장치를 연결하는 방법을 알고 싶습니다. 장치 응용 프로그램이 시작될 때 IP 주소 및 기타 관련 정보 (사용자 이름)를 서버에 등록해야한다고 가정합니다. 다른 장치에 연결하려면 서버에있는 다른 장치의 주소를 찾는 것이 좋습니다. 아마도 요청을 받아야합니다. 그런 다음 a를 소켓에 연결하도록 설정하십시오. 장치 응용 프로그램이 닫히면 서버에서 등록을 취소해야합니다. 이 올바른지?두 대의 안드로이드 장치를 중앙 서버에 연결하려면 어떻게해야합니까?
1
A
답변
1
꽤 정확합니다.
하나 또는 두 개의 장치가 방화벽 (NAT 포함) 뒤에있을 수 있으므로 실제로 서로 직접 연결할 수 없다고 가정해야하므로 해당 장치를 다른 장치와 직접 연결하는 것처럼 간단하지 않습니다. 등록 된 주소를 찾으면 다른 장치로 방화벽 통과 기술 (일반적으로 UDP로는 성공하지만 TCP로는 성공하지 못합니다)이나 방화벽 뒤에 있지 않은 도우미 (등록 서버 또는 다른 것과 같을 수 있음)를 모두 가지고 있어야합니다 통신하려는 장치 간의 데이터.
또한 등록 서버 시간 초과 등록이 필요할 수 있으며 클라이언트는 네트워크에 대한 액세스가 끊어 지거나 네트워크에 대한 액세스 권한을 잃을 때마다 서버에서 등록을 취소 할 기회가 항상 없기 때문에 클라이언트가 정기적으로 등록을 새로 고칩니다.
관련 문제
- 1. Android로 중앙 데이터베이스에 연결하려면 어떻게해야합니까?
- 2. 안드로이드 블루투스 다른 블루투스 장치를 연결하려면
- 3. 2 대의 실제 안드로이드 장치를 PC에 연결
- 4. Flex를 사용하여 서버에 다시 연결하려면 어떻게해야합니까?
- 5. 두 대의 서버에 GET 요청 제출
- 6. "중앙"저장소없이 두 대의 워크 스테이션간에 Git을 사용할 수 있습니까?
- 7. 두 개의 UIGestureRecognizer를 함께 연결하려면 어떻게해야합니까?
- 8. 자바 서버로 두 대의 안드로이드 폰을 연결하십시오
- 9. 두 대의 안드로이드 장치간에 데이터를 전송할 때
- 10. USB를 사용하여 두 대의 Android 장치를 직접 연결할 수 있습니까?
- 11. Java 애플릿을 서버에 연결하려면 어떻게합니까?
- 12. 2 대의 안드로이드 폰에서 WLAN 통신으로가는 방법
- 13. 애플릿을 페이지에 연결하려면 어떻게해야합니까?
- 14. ID를 ListViewItem에 연결하려면 어떻게해야합니까?
- 15. 서버에 중앙 집중식 구성 추가
- 16. 두 개의 안드로이드 장치를 연결할 수있는 안드로이드 응용 프로그램 만들기
- 17. 두 대의 컴퓨터에서 빌드
- 18. 두 대의 컴퓨터에서 개발
- 19. 라이브 스트리밍 안드로이드 장치를 사용
- 20. 마크 안드로이드 카메라는 중앙
- 21. sqlite를 내 Android 애플리케이션에 정적으로 연결하려면 어떻게해야합니까?
- 22. 한 대의 서버에 Magento 다중 저장소가 있습니까?
- 23. 내 Eclipse 프로젝트에 안드로이드 라이브러리 (각도로)를 연결하려면 어떻게해야합니까?
- 24. 프로그래밍 방식으로 안드로이드 장치를 종료
- 25. 여러 대의 syslog 서버에 로깅 - log4j
- 26. 안드로이드 장치를 재부팅하는 방법
- 27. 최대 절전 모드로 연결하려면 어떻게해야합니까?
- 28. Weblogic에서 RedBrick 데이터베이스에 연결하려면 어떻게해야합니까?
- 29. 프로젝트를 svn 저장소에 연결하려면 어떻게해야합니까?
- 30. 장바구니를 사용자 세션에 연결하려면 어떻게해야합니까?
내가 설명했던 것을 수행했다고 가정하면, 다른 장치와 통신되는 내용이 중앙 서버를 앞으로 어떻게 전달할 수 있습니까? 예를 들어, 장치 1은 장치 2의 IP를 중앙 서버에서 가져 와서 소켓을 통해 연결하고 tcp 비디오, 오디오, 파일 등을이 장치로 스트리밍합니다. 서버를 중개자로 사용하는 경우 새로운 예를 들어 비디오 프레임을 폴링해야하는 빈도는 얼마나됩니까? –
엔드 포인트 간의 직접 통신이 사용되지 않으면 서버는 하나의 클라이언트에게 순진하게'write()'하거나 모든 트래픽을'read()'로 또는 그 반대로 전달할 수 있습니다. 스트리밍 속도를 제어하는 방법에 대한 두 번째 질문은 프로토콜 및 TCP 또는 UDP 사용 여부에 따라 다릅니다. 스트리밍 속도보다 라이브 콘텐츠 인 경우 많이 미리 결정됩니다. TCP를 사용하는 경우 TCP가 흐름 제어를 수행합니다. 라이브가 아닌 콘텐츠에 UDP를 사용하고 있다면 스스로 해결해야하며 어려운 방법으로 흐름 제어 메커니즘을 구현해야합니다. – Celada