카테고리 없음

[안드로이드]서버에 데이터 요청, 응답

아놀드금자 2022. 8. 18. 04:21
728x90

네트워크 연결 방식

 

클라이언트-서버 : 플라이언트와 서버가 1:1로 연결

(2tier: http, ftp, pop3)

(3tier: 클라이언트-응용서버-데이터서버) -> 응용 서버와 데이터 서버 구성 시 데이터베이스를 분리할 수 있어 중간에 비즈니스 로직을 처리하는 응용서버가 더 다양한 역할을 할 수 있다.

Peer to Peer: 서버를 두지 않고 단말끼리 서버와 클라이언트 역할을 한다.


 

소켓 사용하기

 

소켓 연결은 IP 주소로 목적지 호스트를 찾아내고 포트로 통신 접속접을 찾아낸다. TCP❤, UDP

 

HTTP 프로토콜은 소켓으로 웹서버에 연결한 후 요청을 전송하고 응답을 받은 후 연결을 끊는다. 

-> 비연결성(Stateless)

 

안드로이드는 소켓 연결 등을 시도하거나 응답을 받아 처리할 때 스레드를 사용해야 한다.

 


 

웹으로 요청하기

 

비연결성(Stateless)인 HTTP 프로토콜은 페이지 정보를 요청할 때마다 소켓을 새로 연결하고 응답을 받은 다음에는 소켓의 연결을 끊는 것이 일반적이다. 그리고 그 소켓연결 위에서 HTTP 프로토콜에 맞는 요청을 보내고 응답을 받아 처리한다.

 


volley 사용하기

 

웹 요청과 응답을 단순화하기 위해 만들어진 라이브러리

request 객제를 만들고 이 request객체를 큐에 넣어줌 -> request 큐가 알아서 웹서버에 요청하고 응답까지 받아줌

장점: 스레드와 핸들러를 사용할 필요 없음

 

 

728x90