Notice
Recent Posts
Recent Comments
Link
투케이2K
605. (ios/swift5) [간단 소스] NWConnection.State 간단 설명 및 사용 옵션 정리 본문
[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT5
[소스 코드]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Swift
- 개발 툴 : Xcode
- 사전) NWConnection 설명 :
>> NWConnection 는 로컬 엔드포인트와 원격 엔드포인트 간의 양방향 데이터 연결 (TCP , UDP) 을 수행할 수 있습니다
>> NWConnection 를 사용하기 위해서는 import Network 패키지 호출 정의가 필요합니다
>> NWParameters 설정 가능 옵션 :
- tls
- tcp
- dtls
- udp
- quic
- quicDatagram
>> 참고 사이트 : https://developer.apple.com/documentation/network/nwconnection
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[설명 정리]
// --------------------------------------------------------------------------------------
1. NWConnection.State 은 NWConnection start 수행 후 데이터를 보내고 받을 수 있는지 여부를 나타내는 상태입니다
2. NWConnection.State 사용 가능 지원 범위 :
>> iOS 12.0 이상
>> 아이패드OS 12.0+
>> 맥 카탈리스트 12.0+
>> 맥OS 10.14+
>> tvOS 12.0+
>> 비전OS 1.0+
>> 워치OS 5.0+
3. NWConnection.State 상태 값 종류 :
>> case setup : 연결은 초기화되었지만 시작되지 않았습니다.
>> case waiting(NWError) : 연결이 네트워크 경로 변경을 기다리고 있습니다.
>> case preparing : 연결이 설정되고 있습니다.
>> case ready : 연결이 설정되었고 데이터를 보내고 받을 준비가 되었습니다.
>> case failed(NWError) : 연결이 끊어졌거나 오류가 발생했습니다.
>> case cancelled : 연결이 취소되었습니다.
4. NWConnection.State 사용 방법 예시 코드 :
// ---------------------------------------------
// [NWConnection 객체 생성]
// ---------------------------------------------
let nwConnection = NWConnection(to: .url(URL(string: "https:// ... ")!), using: self.parames)
// ---------------------------------------------
// [NWConnection : stateUpdateHandler 상태 확인 핸들러 준비]
// ---------------------------------------------
nwConnection?.stateUpdateHandler = { state in
switch state {
case .ready:
var CONNECT_LOG = "[Success] : Connection Ready State"
case .failed(let error):
var CONNECT_LOG = "[Fail] : Connection Fail State"
return
case .cancelled:
var CONNECT_LOG = "[Cancel] : Connection Cancel State"
return
default:
break
}
}
// ---------------------------------------------
// [연결 시작]
// ---------------------------------------------
nwConnection?.start(queue: .global())
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
https://developer.apple.com/documentation/network/nwconnection
https://developer.apple.com/documentation/network/nwconnection/state-swift.enum
// --------------------------------------------------------------------------------------
반응형
'IOS' 카테고리의 다른 글
604. (ios/swift5) [간단 소스] WKUIDelegate 간단 설명 및 사용 옵션 정리 (0) | 2024.12.03 |
---|---|
603. (ios/swift5) [간단 소스] WKScriptMessageHandler 간단 설명 및 사용 옵션 정리 (0) | 2024.12.03 |
602. (ios/swift5) [간단 소스] WKNavigationDelegate 간단 설명 및 사용 옵션 정리 (0) | 2024.12.02 |
601. (ios/swift5) [간단 소스] CBCentralManager 간단 설명 및 사용 옵션 정리 (0) | 2024.12.01 |
600. (ios/swift5) [간단 소스] UNUserNotificationCenter 간단 설명 및 사용 옵션 정리 (0) | 2024.12.01 |
Comments