Product Promotion
0x5a.live
for different kinds of informations and explorations.
GitHub - swiftsocket/SwiftSocket: The easy way to use sockets on Apple platforms
The easy way to use sockets on Apple platforms. Contribute to swiftsocket/SwiftSocket development by creating an account on GitHub.
Visit SiteGitHub - swiftsocket/SwiftSocket: The easy way to use sockets on Apple platforms
The easy way to use sockets on Apple platforms. Contribute to swiftsocket/SwiftSocket development by creating an account on GitHub.
Powered by 0x5a.live 💗
SwiftSocket
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
let client = 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
let data: Data = // ... Bytes you want to send
let result = client.send(data: data)
Read data
var data = client.read(1024*10) //return optional [Int8]
Close socket
client.close()
Client socket example
let client = 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:
guard let data = client.read(1024*10) else { return }
if let 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)]")
var d = client.read(1024*10)
client.send(data: d!)
client.close()
}
func testServer() {
let server = TCPServer(address: "127.0.0.1", port: 8080)
switch server.listen() {
case .success:
while true {
if var client = server.accept() {
echoService(client: client)
} else {
print("accept error")
}
}
case .failure(let error):
print(error)
}
}
Swift Resources
are all listed below.
GitHub - davdroman/TextBuilder: Like a SwiftUI ViewBuilder, but for Text
resource
~/github.com
resource
GitHub - tadejr/ResizingTokenField: A token field implementation for iOS
resource
~/github.com
resource
GitHub - canalesb93/MantleModal: A draggable modal for iOS Applications.
resource
~/github.com
resource
GitHub - okmr-d/DOFavoriteButton: Cute Animated Button written in Swift.
resource
~/github.com
resource
GitHub - gmertk/GMStepper: A stepper with a sliding label in the middle.
resource
~/github.com
resource
GitHub - realm/SwiftLint: A tool to enforce Swift style and conventions.
resource
~/github.com
resource
GitHub - kciter/HorizontalDial: A horizontal scroll dial like Instagram.
resource
~/github.com
resource
GitHub - HeroTransitions/Hero: Elegant transition library for iOS & tvOS
resource
~/github.com
resource
GitHub - Brightify/Cuckoo: Boilerplate-free mocking framework for Swift!
resource
~/github.com
resource
GitHub - maxep/MXParallaxHeader: Simple parallax header for UIScrollView
resource
~/github.com
resource
GitHub - Viktoo/Insert3D: The fastest 🚀 way to embed a 3D model in Swift
resource
~/github.com
resource
GitHub - richardtop/CalendarKit: 📅 Calendar for Apple platforms in Swift
resource
~/github.com
resource
GitHub - exyte/PopupView: Toasts and popups library written with SwiftUI
resource
~/github.com
resource
GitHub - gkaimakas/SwiftValidators: String (and more) validation for iOS
resource
~/github.com
resource
GitHub - alexliubj/EZAnchor: An easier and faster way to code Autolayout
resource
~/github.com
resource
GitHub - Brightify/Reactant: Reactant is a reactive architecture for iOS
resource
~/github.com
resource
GitHub - Nero5023/CSVParser: A swift package for read and write CSV file
resource
~/github.com
resource
GitHub - andybest/linenoise-swift: A pure Swift replacement for readline
resource
~/github.com
resource
GitHub - s2mr/xc: Open your xcode project with Xcode of specific version
resource
~/github.com
resource
GitHub - marmelroy/Zip: Swift framework for zipping and unzipping files.
resource
~/github.com
resource
GitHub - yonaskolb/Beak: A command line interface for your Swift scripts
resource
~/github.com
resource
GitHub - Polidea/RxBluetoothKit: iOS & OSX Bluetooth library for RxSwift
resource
~/github.com
resource
Made with ❤️
to provide different kinds of informations and resources.