Notice
Recent Posts
Recent Comments
Link
투케이2K
580. (ios/swift5) [간단 소스] NWConnection 웹소켓 Websocket 통신 연결 옵션 정리 - NWProtocolWebSocket.Options 본문
IOS
580. (ios/swift5) [간단 소스] NWConnection 웹소켓 Websocket 통신 연결 옵션 정리 - NWProtocolWebSocket.Options
투케이2K 2024. 12. 1. 00:34[개발 환경 설정]
개발 툴 : 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
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[NWProtocolWebSocket.Options 설명 정리]
// --------------------------------------------------------------------------------------
1. NWProtocolWebSocket.Options 은 WebSocket 을 사용하는 방법을 구성하기 위한 옵션 컨테이너입니다
2. NWProtocolWebSocket.Options 사용 가능 버전 :
>> iOS 13.0 이상
>> 아이패드OS 13.0+
>> 맥 카탈리스트 13.0+
>> 맥OS 10.15 이상
>> tvOS 13.0+
>> 비전OS 1.0+
>> 워치OS 6.0+
3. WebSocket 옵션 구성 :
>> init (NWProtocolWebSocket.Version) : WebSocket 연결 옵션의 기본 세트를 초기화합니다.
>> enum Version : 지원되는 WebSocket 프로토콜 버전입니다.
>> var autoReplyPing : Bool : Ping 메시지를 사용자에게 전달하는 대신 연결이 자동으로 응답하는지 여부를 나타내는 부울입니다.
>> var maximumMessageSize : Int : WebSocket 연결에서 수신할 수 있는 최대 메시지 크기(바이트)입니다.
4. 클라이언트 핸드셰이크 구성 :
>> func setAdditionalHeaders([(name: String, value: String)]) : WebSocket 핸드셰이크 중에 클라이언트가 보낼 추가 HTTP 헤더 필드를 설정합니다.
>> func setSubprotocols([String]) : 연결 설정 중에 WebSocket 서버에 표시되는 지원되는 애플리케이션 프로토콜 목록을 추가합니다.
>> var skipHandshake : Bool : 기본 연결이 설정되면 WebSocket 프로토콜이 핸드셰이크를 건너뛰고 데이터 프레이밍을 시작할지 여부를 나타내는 부울입니다.
5. 서버 핸드셰이크 처리 :
>> func setClientRequestHandler(DispatchQueue, handler: ([String], [(name: String, value: String)]) -> NWProtocolWebSocket.Response) : 인바운드 WebSocket 클라이언트 핸드셰이크에 대한 서버로서 반응할 핸들러를 설정합니다.
>> struct Response : 서버에서 클라이언트로 전송된 WebSocket 핸드셰이크 응답입니다.
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
https://developer.apple.com/documentation/network/nwprotocolwebsocket/options
// --------------------------------------------------------------------------------------
반응형
'IOS' 카테고리의 다른 글
Comments