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 :-)
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!