8000 GitHub - inhies/transport: go package for handling MQTT connections · GitHub
[go: up one dir, main page]

Skip to content
inhiesPublic
forked from showntop/transport

About

go package for handling MQTT connections

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

 
 

Latest commit

 

History

108 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gomqtt/transport

Build Status Coverage Status GoDoc Release Go Report Card

Package transport implements functionality for handling MQTT 3.1.1 connections.

Installation

Get it using go's standard toolset:

$ go get github.com/gomqtt/transport

Usage

// launch server
server, err := Launch("tcp://localhost:1883")
if err != nil {
    panic(err)
}

go func(){
    // accept next incoming connection
    conn, err := server.Accept()
    if err != nil {
        panic(err)
    }

    // receive next packet
    pkt, err := conn.Receive()
    if err != nil {
        panic(err)
    }

    // check packet type
    if _, ok := pkt.(*packet.ConnectPacket); ok {
        // send a connack packet
        err = conn.Send(packet.NewConnackPacket())
        if err != nil {
            panic(err)
        }
    } else {
        panic("unexpected packet")
    }
}()

// dial to server
conn, err := Dial("tcp://localhost:1883")
if err != nil {
    panic(err)
}

// send connect packet
err = conn.Send(packet.NewConnectPacket())
if err != nil {
    panic(err)
}

// receive next packet
pkt, err := conn.Receive()
if err != nil {
    panic(err)
}

// check packet type
if connackPacket, ok := pkt.(*packet.ConnackPacket); ok {
    fmt.Println(connackPacket)

    // close connection
    err = conn.Close()
    if err != nil {
        panic(err)
    }
} else {
    panic("unexpected packet")
}

// close server
err = server.Close()
if err != nil {
    panic(err)
}

// Output:
// <ConnackPacket SessionPresent=false ReturnCode=0>

About

go package for handling MQTT connections

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

0