안드로이드 스튜디오에서 Socket을 구성할 일이 생겨서 검색을 해봤는데 대부분의 자료가 JAVA로 구성되어 있어서 직접 제작을 해보려고 한다.
먼저 Socket 통신과 다른 REST API에 대해서 알아보자
Client의 요청이 있을 때 서버가 응답해서 해당 정보를 전송하고 곧바로 연결을 종료하는 방식이다.
Client의 요청이 있을 때만 응답하기 떄문에 Client는 요청을 보내기만 하고 Server는 응답만 하는 단방향 통신이다.
예를 들어 모바일 어플리케이션이나 웹에서는 서버에서 정보를 받는 일이 많기 때문에 이 방식을 채택한다. 하지만 채팅방 처럼 정보를 단방향으로 보내는 것이 아닌 양방향 통신이 필요할 때가 있다. 이러한 경우 Socket 통신을 사용해야한다.
특정 포트를 이용하여 Server와 Client가 실시간으로 양방향으로 통신하는 방식이다.
Http 통신과 다르게 Server또한 Client에 요청을 보낼 수 있습니다. 이러한 특징 덕분에 실시간 채팅이나, 스트리밍에 사용할 수 있습니다.
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
