Swift Socket 封装库:SwiftSockets

分享到:

SwiftSockets是一个基于GCD的简单Socket库,用于Swift项目开发中。

该项目包括三个目标:

  • ARISockets
  • ARIEchoServer
  • ARIFetch

建议你从ARIEchoServer开始看.

ARISockets

A framework containing the socket classes and relevant extensions. It takes a bit of inspiration from the SOPE NGStreams library.

Server Sample:

let socket = PassiveSocket<sockaddr_in>(address: sockaddr_in(port: 4242))
.listen(dispatch_get_global_queue(0, 0), backlog: 5) {
println("Wait, someone is attempting to talk to me!")
$0.close()
println("All good, go ahead!")
}

Client Sample:

let socket = ActiveSocket<sockaddr_in>()
.onRead {
let (count, block, errno) = $0.read()
if count < 1 {
println("EOF, or great error handling \(errno).")
return
}
println("Answer to ring,ring is: \(count) bytes: \(block)")
}
.connect("127.0.0.1:80") {
socket.write("Ring, ring!\r\n")
}

ARIEchoServer

Great echo server. This is actually a Cocoa app. Compile it, run it, then connect to it in the Terminal.app via telnet 1337.

ARIFetch

Connects a socket to some end point, sends an HTTP/1.0 GET request with some awesome headers, then shows the results the server sends. Cocoa app.

Why HTTP/1.0? Avoids redirects on www.apple.com :-)



项目主页:http://www.open-open.com/lib/view/home/1409124349932

 

昵    称:
验证码:

相关文档: