Skip to content

Repository files navigation

SwiftSocket

CocoaPods CompatibleCocoaPods PlatformsCarthage Compatible

SwiftSocket library provides as easy to use interface for socket based connections on server or client side. Supports both TCP and UDP sockets.

Installation

Cocoapods

Add this to your Podfile:

pod'SwiftSocket'

And run then pod install

Carthage

github"swiftsocket/SwiftSocket"

Code examples

Create client socket

// Create a socket connect to www.apple.com and port at 80
letclient=TCPClient(address:"www.apple.com", port:80)

Connect with timeout

You can also set timeout to -1 or leave parameters empty (client.connect()) to turn off connection timeout.

switch client.connect(timeout:10){case.success:
// Connection successful 🎉
case .failure(let error):
// 💩
}

Send data

letdata:Data= // ... Bytes you want to send
let result = client.send(data: data)

Read data

vardata= client.read(1024*10) //return optional [Int8]

Close socket

client.close()

Client socket example

letclient=TCPClient(address:"www.apple.com", port:80)switch client.connect(timeout:1){case.success:switch client.send(string:"GET / HTTP/1.0\n\n"){case.success:guardlet data = client.read(1024*10)else{return}iflet response =String(bytes: data, encoding:.utf8){print(response)}case.failure(let error):print(error)}case.failure(let error):print(error)}

Server socket example (echo server)

func echoService(client:TCPClient){print("Newclient from:\(client.address)[\(client.port)]")vard= client.read(1024*10)
client.send(data: d!)
client.close()}func testServer(){letserver=TCPServer(address:"127.0.0.1", port:8080)switch server.listen(){case.success:whiletrue{ifvar client = server.accept(){echoService(client: client)}else{print("accept error")}}case.failure(let error):print(error)}}

About

The easy way to use sockets on Apple platforms

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages