CocoaPods trunk is moving to be read-only. Read more on the blog, there are 19 months to go.

Swocket 0.1.0

Swocket 0.1.0

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Jun 2015
SPMSupports SPM

Maintained by Joakim Gyllström.



Swocket 0.1.0

  • By
  • Joakim Gyllström

TODO

  • UDP

Usage

To run the example project, clone the repo, and run pod install from the Example directory first.

Echo Client:
let data = "Wazzzup".dataUsingEncoding(NSUTF8StringEncoding)!

// Set up a socket to localhost on port 9999
let client = Swocket.TCP.init(host: "127.0.0.1", port: 9999)

// Connect to server
client.connectAsync()

// Send message
client.sendDataAsync(data)

// Get response
client.recieveDataAsync({ (data, error) -> Void in
    // Unwrap response as string and set response label
    let response = NSString(data: data!, encoding: NSUTF8StringEncoding) as? String
    print(response)
})

// Disconnect
client.disconnectAsync()
HTTP Server:
let httpString = "HTTP/1.1 200 OK\nContent-Type: text/html; charset=UTF-8"
let htmlString = "<html><head><title>Hello</title></head><body><h1>Hello World!</h1><p>I am a tiny little web server</p></body></html>"
let data = "\(httpString)\n\n\(htmlString)".dataUsingEncoding(NSUTF8StringEncoding)!

server = try! Swocket.TCP.listen(8080, onConnection: { (client) -> () in
    try! client.recieveData() // Ignore what client requests
    try! client.sendData(data) // And give them the same result every time! :P
})
Want to things synchronously?

No problem, all async functions have a synchronous counterpart.

Handle errors:
// All async functions have an optional error closure
client.sendDataAsync(data, onError: { (error) -> Void in
  print(error)
})

// And synchronous functions throws an error
do {
  try client.sendData(data)
} catch {
  print(error)
}

Requirements

Xcode 7 (Swift 2)

Installation

Swocket is will be available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "Swocket"

Author

Joakim Gyllström, [email protected]

License

Swocket is available under the MIT license. See the LICENSE file for more info.