BOID

[iOS] 연결 지향 통신이란? 본문

IOS 시작기

[iOS] 연결 지향 통신이란?

HoonIOS 2021. 4. 30. 16:59

안녕하세요. HoonIOS입니다. :)

 

이번 포스팅에는 앱에서 없을 수 없는 네트워크 통신에 대해 포스팅을 해보려고 합니다.

 

앱이 네트워크 통신을 하는 가장 큰 목적은 무엇일까요? 그것은 바로 앱의 데이터들을 최신으로 유지를 하기 위한 목적입니다. 

 

사용자들은 앱을 최신의 상태이어야 사용을 하고 쓰고 싶어합니다. 예를 들어 영화 차트를 보여주는 앱을 켰는데 1990년대 데이터를 보여주거나 심지어 작년 데이터를 보여줘도 사용자들은 그 앱을 사용하지 않을 것입니다.

 

※ 엡의 네트워크 통신의 종류

  1. 소켓 통신
  2. HTTP, HTTPS등의 프로토콜을 이용한 비연결성 통신

 

 소켓 통신

 

소켓통신은 연결 지향 통신이라고 합니다. 계속 쭈우우욱 앱 하고 서버가 연결이 되어 있는 형태입니다.

즉 일단 앱 하고 서버가 연결이 한번 되면 한쪽에서 끊기 전까지는 계속 유지가 되는 방식입니다.

 

소켓을 이용한 네트워크 통신 방식은 저수준 통신을 통하여 구현이 됩니다.

 

TCP/UDP 대표적으로 두 가지 방식으로 연결이 됩니다.

  1. TCP 방식 - 데이터 유실을 막을 수 있고 완전한 전송을 보장하는 장점이 있습니다. 통신 속도가 느립니다.
  2. UDP 방식 - 데이터 유실이 발생을 할 수 있지만 TCP보다 빠릅니다.

소켓 통신 방법은 연결이 이루어지는 단계, 유지되고 있는 단계, 종료되는 단계에서 연결 상태를 구분할 수 있어서 각 단계마다 적절하게 대응하는 방식이 있어야 합니다.

 

이 통신 방법의 장점과 단점은 무엇일까요?

 

  • 장점

    - 계속 유지가 되어 있어 재연결할 필요가 없고 원하는 만큼 메시지를 주고받을 수 있습니다.!!!!
  • 단점

    - 장점이 곧 단점일 수도 있는 데 사용하고 싶지 않아도 계속 연결이 이루어져 있기 때문에 자원 낭비도 심하고 서버 부하가 걸려 네트 워키 통신이 원할하지 않을 수 있습니다.

    - 이 단점 때문에 실시간으로 통신하는 게임, 데이터를 이용한 통화 같은 것에는 제한적일 수 있습니다.

 

 

 

 

반응형
Comments