GithubHelp home page GithubHelp logo

snthunderbolt / asyncnetwork Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fitnesskit/asyncnetwork

0.0 2.0 0.0 26 KB

Asynchronous Network support for Swift. UDP, Multicast UDP

License: MIT License

Swift 100.00%

asyncnetwork's Introduction

AsyncNetwork

Asynchronous Network support for Swift. UDP, Multicast UDP

Installation

Swift Package Manager:

Swift3

    dependencies: [
        .Package(url: "https://github.com/FitnessKit/AsyncNetwork", majorVersion: 0)
    ]

Swift4

    dependencies: [
        .package(url: "https://github.com/FitnessKit/AsyncNetwork", from: "1.0.0"),
    ]

Example Usage

    let sock = AsyncUDP()

    let observer = UDPReceiveObserver(closeHandler: { (sock: AsyncUDP, error: SocketError?) in

    print("Socket did Close: \(error)")

    }, receiveHandler: { (sock: AsyncUDP, data: Data, address: InternetAddress) in

        print("\n Data: \(data)  from: \(address.hostname) onPort:\(address.port)")

    })

    sock.addObserver(observer)


    do {
        let addr = InternetAddress.anyAddr(port: 51113, family: .inet)
        //let addr = InternetAddress.anyAddr(port: 5353, family: .inet)
        try sock.bind(address: addr)
    } catch  {
        print("error \(error)")
    }


    //Join Muliticast Group
    let mGroup = MulticastGroup(group: "239.78.80.1")
    //let mGroup = MulticastGroup.mDNS()

    do { 
        try sock.join(group: mGroup)

        //Start the Stream of Data
        try sock.beginReceiving()

    } catch  {
        print("error \(error)")
    }

    //Leave Group
    do {
        try sock.leave(group: mGroup)
    } catch {
        print("Error \(error)")
    }

asyncnetwork's People

Contributors

khoogheem avatar

Watchers

James Cloos avatar Sajede avatar

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.