Notice
Recent Posts
Recent Comments
Link
투케이2K
570. (ios/swift5) [간단 소스] NWConnection 사용해 TCP IP 소켓 통신 NWProtocolTCP.Options 옵션 설정 방법 본문
IOS
570. (ios/swift5) [간단 소스] NWConnection 사용해 TCP IP 소켓 통신 NWProtocolTCP.Options 옵션 설정 방법
투케이2K 2024. 11. 25. 18:50[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT5

[소스 코드]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Swift
- 개발 툴 : Xcode
- NWConnection 설명 :
>> NWConnection 는 로컬 엔드포인트와 원격 엔드포인트 간의 양방향 데이터 연결 (TCP , UDP) 을 수행할 수 있습니다
>> NWConnection 를 사용하기 위해서는 import Network 패키지 호출 정의가 필요합니다
>> NWParameters 설정 가능 옵션 :
- tls
- tcp
- dtls
- udp
- quic
- quicDatagram
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------
// -------------------------------------------
// MARK: - [전역 변수 선언]
// -------------------------------------------
private static let ACTIVITY_NAME = "C_TcpIp_Client_Socket_Module"
let CONNECT_TIME_OUT = 20.0 // [연결 타임 아웃 시간]
lazy var tcpOptions: NWProtocolTCP.Options = {
let options = NWProtocolTCP.Options()
options.noDelay = true // [딜레이 비활성]
options.connectionTimeout = Int(self.CONNECT_TIME_OUT) // [connection timed out]
return options
}()
lazy var parames: NWParameters = {
let parames = NWParameters(tls: nil, tcp: self.tcpOptions)
if let isOption = parames.defaultProtocolStack.internetProtocol as? NWProtocolIP.Options {
isOption.version = .v4 // [ipv4 방식 : 192.168.1.1]
}
parames.preferNoProxies = true
return parames
}()
var connection: NWConnection? = nil // [소켓 통신 수행 객체]
// -------------------------------------------
// MARK: - [NWConnection 객체 생성 수행]
// -------------------------------------------
//self.connection = NWConnection(host: NWEndpoint.Host(ip), port: NWEndpoint.Port("\(port)")!, using: .tcp) // [기본 TCP 옵션 설정]
self.connection = NWConnection(host: NWEndpoint.Host(ip), port: NWEndpoint.Port("\(port)")!, using: self.parames) // [지정한 파라미터로 설정]
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
https://developer.apple.com/documentation/network/nwconnection
// --------------------------------------------------------------------------------------
반응형
'IOS' 카테고리의 다른 글
Comments