Skip to content

Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, OS X.

License

Notifications You must be signed in to change notification settings

SwiftLotus/Socks

 
 

Repository files navigation

Socks

Build Status Platforms Package Managers

Twitter Czechboy0 Twitter matthiaskr1

Pure-Swift Sockets. Linux & OS X ready.

Supported socket types

TCP UDP
Client
Server

Installation

Swift Package Manager

.Package(url: "https://github.com/czechboy0/Socks.git", majorVersion: 0, minor: 12)

🔧 Usage

The package provides two libraries: SocksCore and Socks.

  • SocksCore is just a Swift wrapper of the Berkeley sockets API with minimal differences. It is meant to be an easy way to use the low level API without having to deal with Swift/C interop.
  • Socks is a library providing common usecases built on top of SocksCore - a simple TCPClient, SynchronousTCPServer etc.

If you're building a HTTP server, you'll probably want to use the TCPClient, without having to worry about its implementation details. However, if you need the low-level sockets API, just import SocksCore and use that instead.

🎲 Examples

There are many working examples in this package which build as separate binaries.

📚 Recommended reading

🔧 Used by

  • Redbird Pure-Swift implementation of a Redis client from the original protocol spec. OS X + Linux compatible.
  • Vapor A web framework and server for Swift that works on OS X and Ubuntu.

💙 Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

💝 Contributing

Please create an issue with a description of your problem or open a pull request with a fix.

✌️ License

MIT

👽 Authors

Honza Dvorsky - http://honzadvorsky.com, @czechboy0
Matthias Kreileder - @matthiaskr1

About

Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, OS X.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 100.0%