Notice
Recent Posts
Recent Comments
Link
투케이2K
573. (ios/swift5) [간단 소스] NWConnection TCP IP 소켓 통신 연결 옵션 정리 - NWProtocolTCP.Options 본문
IOS
573. (ios/swift5) [간단 소스] NWConnection TCP IP 소켓 통신 연결 옵션 정리 - NWProtocolTCP.Options
투케이2K 2024. 11. 29. 09:43[개발 환경 설정]
개발 툴 : 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
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[NWProtocolTCP.Options 설명 정리]
// --------------------------------------------------------------------------------------
1. NWProtocolTCP.Options 은 TCP 를 사용하는 방법을 구성하기 위한 옵션 컨테이너입니다
2. NWProtocolTCP.Options 사용 OS 지원 버전 :
>> iOS 12.0 이상
>> 아이패드 OS 12.0+
>> 맥 카탈리스트 12.0+
>> 맥 OS 10.14+
>> tvOS 12.0+
>> 비전 OS 1.0+
>> 워치OS 5.0+
3. NWProtocolTCP.Options 사용자 정의 옵션 종류 :
>> var enableFastOpen : Bool : 연결에서 TCP Fast Open을 활성화하는 부울입니다.
>> var maximumSegmentSize : Int : TCP의 최대 세그먼트 크기(바이트)입니다.
>> var noDelay : Bool : TCP의 Nagle 알고리즘을 비활성화하는 부울입니다.
>> var noOptions : Bool : TCP를 옵션 없는 모드로 설정하는 부울입니다.
>> var noPush : Bool : TCP를 푸시 금지 모드로 설정하는 부울입니다.
>> var retransmitFinDrop : Bool : FIN 패킷 이후 ACK 패킷을 수신하지 못하면 TCP가 연결을 끊도록 하는 부울 값입니다.
>> var disableAckStretching : Bool : TCP 확인 스트레칭을 비활성화하는 부울입니다.
>> var disableECN : Bool : 명시적 혼잡 알림 표시의 협상을 비활성화하는 부울입니다.
4. NWProtocolTCP.Options Keepalives 구성 종류 :
>> var enableKeepalive : Bool : TCP keepalives를 활성화하는 부울입니다.
>> var keepaliveIdle : Int : TCP가 Keepalive 프로브를 보내기 전에 대기하는 유휴 시간(초)입니다.
>> var keepaliveCount : Int : TCP가 연결을 종료하기 전에 보내는 Keepalive 프로브의 수입니다.
>> var keepaliveInterval : Int : TCP가 Keepalive 프로브를 보내는 사이에 기다리는 시간(초)입니다.
5. NWProtocolTCP.Options 시간 초과 설정 종류 :
>> var connectionTimeout : Int : TCP가 핸드셰이크의 시간 초과가 되기 전에 기다리는 시간(초)입니다.
>> var connectionDropTime : Int : TCP 재전송 시도에 대한 시간 초과(초)입니다.
>> var persistTimeout : Int : RFC 6429에 정의된 TCP 지속 시간 제한(초)입니다.
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
https://developer.apple.com/documentation/network/nwprotocoltcp/options
// --------------------------------------------------------------------------------------
반응형
'IOS' 카테고리의 다른 글
Comments