ANDROID/Android 앱 프로그래밍

[Android] 네트워킹(Network)

주 녕 2021. 6. 27. 02:05
728x90

모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. 

 

네트워킹

인터넷에 연결되어 있는 원격지의 서버 또는 원격지의 단말과 통신해서 데이터를 주고 받는 동작들

 

🤷‍♀️ 데이터를 주고받는 과정은 상당히 복잡함. 그래도 네트워킹을 사용하는 이유는?

→ 인터넷에 연결되어 있는 여러 단말을 동시에 사용할 수 있어서 다양한 데이터 자원을 효율적으로 사용할 수 있기 때문

 

2-tier C/S(Client/Server) 방식

  • 클라이언트와 서버가 일대일로 연결하는 방식
  • 대부분 클라이언트가 서버에 연결되어 데이터를 요청하고 응답받는 단순한 개념으로 가장 많이 사용하는 네트워킹 방식
  • 웹 페이지를 볼 때 사용하는 HTTP 프로토콜, 파일 전송을 위한 FTP 프로토콜, 메일을 주고 받는 POP3 프로토콜 등의 연결 방식

 

3-tier 연결 방식

  • 서버를 좀 더 유연하게 구성할 수 잇음
  • 응용 서버와 데이터 서버로 서버를 구성하면 데이터베이스를 분리할 수 있어 중간에 비즈니스 로직(Business Logic)을 처리하는 응용 서버가 좀 더 다양한 역할을 할 수 있음

 

그 외의 네트워크 연결 방식

  • N-tier 연결 방식이 있지만 일반적으로는 3-tier까지만 이해해도 앱을 만들 수 있음
  • 단말 간의 통신이 일반화되며 클라이언트와 서버의 관계는 피어 투 피어(Peer-to-Peer) 통신으로 불리는 P2P 모델로 변형되어 사용되기도 함
    • P2P 모델은 서버를 두지 않고 단말끼리 서버와 클라이언트 역할을 하는 것
    • 정보 검색이나 파일 송수신으로 정보를 공유하는데 많이 사용됨
    • 메신저 서비스나 인터넷 전화에 사용되는 SIP 프로토콜 기반의 서비스들은 서버가 있긴 하지만 P2P 모델 특성을 가지고 있음

 

 

 

728x90