1 안드로이드 네트워킹 안드로이드 앱 프로그래밍 2011010921 여 규리
목차 7.1 네트워킹이란? 7.2 소켓 사용하기 7.3 웹으로 요청하기 7.4 뉴스정보 가져오기 7.5 XML-RPC 사용하기
7.1 네트워킹이란?
네트워킹이란? 인터넷 망에 연결되어 있는 원격지의 서버 또는 단말과 통신을 통해 데이터를 주고받는 일반적인 일
원격지의 서버를 연결하는 방식 2-tier C/S 모델 3-tier 모델 클라이언트와 서버가 일대일로 연결하는 방식 서버를 좀더 유연하게 구성 응용서버와 데이터 서버를 구성하는 경우, 데이터 베이스를 분리시킴 클라이언트 서버 요청 응답 2-tiar 웹하드 클라이언트는 요청자 클라이언트 서버 모델 클라이언트 응용서버 요청 응답 데이터서버 데이터요청 데이터응답
P2P 방식 P2P 방식 P2p는 서로 대등하다.p2p 사이트, 토렌트등 있다 네트워크 모델 서버 연결 방식
Middleware를 이용한 통신 방식 Middleware 서버 #1 클라이언트 #1 (UNIX) Windows ORB ORB Middleware 클라이언트 #1 Windows 클라이언트 #2 LNUX/Mobile 서버 #1 (UNIX) 서버 #2 (Windows) Middle ware : os와 다른 시스템 사이를 연결해 주는 것 다양한 유형의 시스템들 간 공통 통신 방식이나 지능화된 네트워크 서비스를 제공하기 위해 만들어짐
7.2 소켓 사용하기 Socket이란 소프트웨어 차원에서 호스트들간에 연결을 해주는 장치 소켓이란 원래 이음새 이런 정도의 뜻을 가짐 운영체제가 제공하는, 데이터 송수신을 위한 소프트웨어적인 장치 네트워크 상에서 ‘양 끝단’을 의미하기도 하는데
네트워킹 TCP/IP 통신 방식을 제공하는 소켓을 이용해 서버에 연결 비연결성(stateless)특징으로 인해 실시간으로 데이터를 처리하는 Application의 경우, 응답속도를 높이기 위해 HTTP보다 소켓연결 선호 TCP/IP에는 IP TCP UDP가 있다 소켓을 이용한 통신과정 서버 - 소켓생성, 소켓주소할당, 연결요청대기, 연결허용, 연결종료 클라이언트 - 소켓생성, 연결요청, 연결종료 IP는 = 패킷을 목적지까지 전송하는 역할 데이터의 정확성 확인 TCP = 연결지향성 서비스, 데이터의 전송순서가 보장되며 데이터의 수신여부를 확인할 수 있으며 데이터가 손실되면 재전송이 가능, UDP = 비연결형 서비스, 신뢰를 보장하지 않는다. 데이터의 전송순서를 바꿀 수 있다. TCP보다 전송속도가 빠르다. 음성과 화상통화 같은 멀티미디어 세션을 제어하기 위해 널리 사용 이러한 이유로 TCP를 사용한다. HTTP 프로토콜은 소켓으로 연결한 후에 웹서버로 요청을 전송하고 응답을 받는 과정을 거치게 되는데 일반적으로는 응답을 받고 난 후 연결을 끊게 된다.
소켓연결 방식 안드로이드에서 표준 자바의 소켓을 그대로 사용할 수 있음 서버 쪽에는 서버소켓을 만들어 실행함(포트지정) 클라이언트 쪽에서는 소켓을 만들어 서버 소켓으로 연결함(IP 와 포트지정) Steam 객체를 이용해 데이터를 보내거나 받을 수 있음 ObjectOutputStream, ObjectInputStream
자유과제(1) Socket Server
자유과제(2)_activity_main.xml
자유과제(3)_MainActivity.java
자유과제(4)_AndroidSocketServerClient Manifest
자유과제(5)_실행화면
Thank You