Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Github Token
- 챗GPT
- sourceSet
- Execution failed for task ':test'.
- Linux 패키지 관리자
- git
- Android Studio
- mac 패키지 관리자
- 팝업 바깥 레이어
- MySQL
- nextFocusDown
- codeigniter
- 여러 개
- 챗지피티
- 다음으로 이동
- docker에서 mysql 실행
- AWS
- InvalidTestClassError
- git cannot identify version of git executable
- junit
- php
- TextView 일부분
- Github 등록
- Location Permission
- PHP Storm
- 안드로이드 자동으로 포커싱
- Chat GPT
- 5회 인증
- Android Flavor
- XML Opacity
Archives
- Today
- Total
128june
Network Programming - Socket (1) 본문
반응형
1. 소켓 - Socket
네트워크 프로그래밍 방법을 알기 전에 먼저 소켓의 개념을 알아야 한다.
네트워크 프로그래밍에서의 소켓이란 "사용자에게 네트워크에 접근할 수 있는 인터페이스를 제공"이라는 의미이다.
소켓을 사용하려면 소켓 생성 / 소켓을 통한 송신 / 수신 소켓 소멸 이 세가지 과정을 이해야한다.
먼저 소켓의 종류는 다음과 같다.
-
SOCK_RAW : 자바 보안상 더이상 지원 X -
SOCK_STREAM
- 바이트를 주고받을 수 있는 스트림(Stream) 통신을 구현할 수 있게 해주는 소켓
- 양방향 통신 가능
- TCP(Transfer Control Protocol) -
SOCK_DGRAM
- 데이터그램 통신용 소켓
- 양방향 통신 가능
- UDP(User Datagram Protocol)
하나씩 들여다보자.
A. TCP(Transfer Control Protocol) : 수신 측과 송신측이 미리 연결을 맺고 연결된 순서로 데이터 교환
-
다른 말로 스트림 통신 프로토콜이라고 부름
-
양쪽의 소켓이 연결된 상태여아만 가능 ➜ 연결지향 프로토콜이라고도 말한다.
-
한번 연결되면 연결이 끊어질 때까지 신뢰성 있는 통신 가능
- 대용량 데이터 주고받기 가능 but 네트워크 부담이 다소 큼
B. UDP(User Datagram Protocol)
-
데이터그램 통신 프로토콜
-
TCP와 다르게 비연결성(Connectionless) 프로토콜
-
패킷을 보낼 때마다 수신 측의 주소와 포트 번호, 전송해야할 데이터를 함께 전송
-
신뢰성이 떨어짐 but 네트워크 부담이 적음
반응형
Comments