Git Product home page Git Product logo

tcpip's Introduction

TCPIP

Swift 2.0 Platforms OS X | iOS Cocoapods Compatible Carthage Compatible License MIT Travis codecov.io Slack Status

TCPIP is a TCP/IP library for Swift 2.

Features

  • No Foundation dependency (Linux ready)
  • Local IP
  • Remote IP
  • TCP Server Socket
  • TCP Client Socket

Usage

IP

// local
do {
    // all network interfaces
    let ip1 = try IP(port: 5555, mode: .IPV4)
    
    // specific network interface
    let ip2 = try IP(networkInterface: "en0", port: 5555, mode: .IPV6)
} catch {
    // something bad happened :(
}

// remote
do {
    let ip3 = try IP(address: "127.0.0.1", port: 5555, mode: .IPV4)
} catch {
    // something bad happened :(
}

TCP

// server
do {
	let ip = try IP(port: 5555)
	let serverSocket = try TCPServerSocket(ip: ip)
	let clientSocket = try serverSocket.accept()
	
	let yo = try clientSocket.receiveString(untilDelimiter: "\n")
} catch {
    // something bad happened :(
}

// client
do {
	let ip = try IP(address: "127.0.0.1", port: 5555)
	let clientSocket = try TCPClientSocket(ip: ip)
	
	// calls to send append the data to an internal
	// buffer to minimize system calls
	try clientSocket.sendString("yo\n")
	// flush actually sends all data in the buffer
	try clientSocket.flush()
} catch {
    // something bad happened :(
}

Installation

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

CocoaPods 0.39.0+ is required to build TCPIP.

To integrate TCPIP into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/Zewo/Specs.git'
source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!

pod 'TCPIP', '0.1'

Don't forget source 'https://github.com/Zewo/Specs.git'. This is very important. It should always come before the official CocoaPods repo.

Then, run the following command:

$ pod install

Carthage

Carthage is a decentralized dependency manager that automates the process of adding frameworks to your Cocoa application.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate TCPIP into your Xcode project using Carthage, specify it in your Cartfile:

github "Zewo/TCPIP" == 0.1

Command Line Application

To use TCPIP in a command line application:

Community

Slack

Join us on Slack.

License

TCPIP is released under the MIT license. See LICENSE for details.

tcpip's People

Contributors

paulofaria avatar

Watchers

Chris Chew avatar  avatar Chris Skudlarczyk avatar Paul Thorsteinson avatar James Cloos avatar  avatar Dave Anderson avatar John Michael Pirie avatar Build Box avatar  avatar Matt Warren avatar Ted Goddard avatar  avatar  avatar Corinne.Holmes avatar Ruby Smalley avatar  avatar

Forkers

isabella232

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.