일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- SwiftUI
- Xcode
- builder
- GIT
- flutter
- uikit
- weatherkit
- AppleDeveloper
- isolate
- LifeCycle
- network
- state
- singleton
- designpattern
- concurrency
- swift
- factory
- Adapter
- Architecture
- WiFi
- SampleApp
- WWDC24
- iot
- philipshue
- dart
- dartz
- OpenAI
- 문법
- EventLoop
- tuist
Archives
- Today
- Total
Jaebi의 Binary는 호남선
Swift Local Network Connection 본문
목차
Preliminary
- iOS14 SDK 이상 - `Info.plist`에 `NSLocalNetworkUsageDescription` 설정
NWConnection
- local endpoint와 remote endpoint를 연결하여 데이터 전송하는 객체
- initializer → NWEndpoint를 생성하고 NWParameters 지정
- NWEndpoint → network 연결의 local 또는 remote endpoint
- `hostPort`, `service`(Bonjour Service), `url`, `unix` 등 case로 서비스 Enpoint 지정
- NWParameters → network 경로 제약, 데이터 전송 옵션, 연결을 위해 사용되는 프로토콜 종류
- `tls`, `tcp`, `dtls`, `udp` 등
- NWEndpoint → network 연결의 local 또는 remote endpoint
- Connection 객체가 생성되면 `stateUpdateHandler`로 connection 상태 확인
- connection 상태 handling 후 `start`로 연결
- Network 통신은 비동기로 이뤄져야 함으로 queue를 명시해줘야함
NSPathMonitor
- Network 변경을 monitoring하는 observer
- `pathUpdateHandler`를 통해 path interfaceType이 `wifi` / `cellular` / `wiredEthernet` / `loopback` 등 인지 알 수 있음
연결 후 send와 Receive
- connection state가 ready 되었을때
- `NWConnection.send(content: completion:)` - connection에 데이터 send
- `NWConnection.receiveMessage(completion:)` - 데이터 받을때 처리
Reference
'Swift' 카테고리의 다른 글
Swift - Memory 기초 (0) | 2024.07.20 |
---|---|
Swift - 문법 (접근 제어) (0) | 2024.07.20 |
Swift Wi-Fi Configuration (0) | 2024.06.19 |
WWDC 2024 - WeatherKit Sample App (0) | 2024.06.13 |
WeatherKit 사용 (WWDC 2024) (1) | 2024.06.13 |