일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 운영체제
- decode
- 동기화
- Linked List
- 인프런
- 데드락
- 오브젝트
- 비동기
- async
- 알고리즘
- Swift
- 프로세스 스케줄링
- Codable
- deadlock
- UserDefaults
- IOS
- 앨런
- COLOR
- 동시성
- forEach
- core data
- 상호배제
- scrollview
- 100 days of SwiftUI
- struct
- SwiftUI
- Algorithm
- Apple Developer Academy
- @state
- 가상 메모리
Archives
- Today
- Total
기어가더라도 제대로
네트워크 프로그래밍 본문
- 서버에 요청하고 응답을 받을 때까지 필요한 것
고려할 것들
패킷 처리
- 어떤 내용을 보내고,
- 몇번에 나눠 보낼 것인지
협의를 해야한다.
대역폭
패킷을 보낼 때 한번에 주고 받을 양을 정의지연율
서버까지 도달하는 거리가 아주 멀어져버리거나, 서울 - 부산 거리를 지구 한바퀴를 돌아 오는 경우.
Darwin(OS)
C API 기반
BSD socket
Bonjour(dns_sd)
Best Performance
Cross platform
단점
Core Foundation Network
- C API
- WWAN activation
- Good run loop integration
- Protocols
- Bonjour
- TCP
- TLS
- FTP
- HTTP/HTTPS
Foundation
- Objective-C 와 Swift 에 적합
이 자체가 비동기니까 디스팻치 큐에 넣을 필요는 없다.URLSession 비동기
Network APIs
for HTTP/HTTPs
URL Loading 을 제일 관심깊게 봐야한다.
NSURLSession
Session = Resquest +Resquest + Resquest ... Resquest
종류
Singleton shared session
데이게이트 없이 간단한 요청Default session
- 기본 설정 세션 / 커스텀 설정 가능
ephemeral session
- 델리게이트 없이 비공개 세션
Background session
- 백그라운드 동작을 위한 세션
Session daemon
세션 관리를 숨겨진 데몬이 하고 있다.
- 데몬 : 항상 떠있는 프로그램을 데몬이라 한다.
NSURLSession Task 종류
간단한 데이터는 DataTask
헤비하면 DownloadTask
Delegate
응답이 오면 올 때마다 델리게이트가 호출이 된다.
근데 상황 마다 조금씩 델리게이트가 호출되는 종류가 다르다.
non - Blocking vs. Async
'기타' 카테고리의 다른 글
강제 말고 임대하세요 (0) | 2022.04.09 |
---|---|
20220407. 놀라운 사실 (0) | 2022.04.07 |
220310. Protocol 외 다수 (0) | 2022.03.10 |
객체지향적으로 사고를 해보자 (from 2022.03.07 강의, 코드스쿼드) (0) | 2022.03.07 |
객체지향의 사실과 오해 - 1 - (0) | 2022.03.04 |
Comments