Popularity
3.8
Growing
Activity
0.0
Declining
56
4
14
Programming language: Go
License: GNU General Public License v3.0 or later
Tags:
Networking
Latest version: v0.2.2
packet alternatives and similar packages
Based on the "Networking" category.
Alternatively, view packet alternatives based on common mentions on social networks and blogs.
-
fasthttp
Package fasthttp is a fast HTTP implementation for Go, up to 10 times faster than net/http -
gnet
⚡️A high-performance, lightweight, nonblocking, event-loop networking library written in pure Go.🔥 -
mqttPaho
The Paho Go Client provides an MQTT client library for connection to MQTT brokers via TCP, TLS or WebSockets. -
fortio
Load testing library and command line tool and web UI. Allows to specify a set query-per-second load and record latency histograms and other useful stats and graph them. -
go-getter
A Go library for downloading files or directories from various sources using a URL. -
sftp
Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt. -
NFF-Go
Framework for rapid development of performant network functions for cloud and bare-metal. -
gev
gev is a lightweight, fast non-blocking TCP network library based on Reactor mode. -
vssh
Go library for building network and server automation over SSH protocol. -
peerdiscovery
Pure Go library for cross-platform local peer discovery using UDP multicast. -
raw
Package raw enables reading and writing data at the device driver level for a network interface. -
gmqtt
Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.1.1. -
gNxI
A collection of tools for Network Management that use the gNMI and gNOI protocols. -
ethernet
Package ethernet implements marshaling and unmarshaling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags. -
jazigo
Jazigo is a tool written in Go for retrieving configuration for multiple network devices. -
sslb
It's a Super Simples Load Balancer, just a little project to achieve some kind of performance. -
xtcp
A TCP Server Framework with simultaneous full duplex communication,graceful shutdown,custom protocol.
Scout APM - Leading-edge performance monitoring starting at $39/month
Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
Sponsored
scoutapm.com
Do you think we are missing an alternative of packet or a related project?
Popular Comparisons
README
packet
Send network packets over a TCP or UDP connection.
Packet
Packet is the main class representing a single network message. It has a byte code indicating the type of the message and a []byte
type payload.
Stream
A stream has a send and receive channel with a hot-swappable connection for reconnects.
The user has the responsibility to register a callback to consume errors via OnError
.
Example
// Connect to a server
conn, _ := net.Dial("tcp", "localhost:7000")
// Create a stream
stream := packet.NewStream(1024)
stream.SetConnection(conn)
// Send a message
stream.Outgoing <- packet.New(0, []byte("ping"))
// Receive message
msg := <-stream.Incoming
// Check message contents
if string(msg.Data) != "pong"
Hot-swap example
// Close server connection to simulate server death
server.Close()
// Send packet while server is down (will be buffered until it reconnects)
client.Outgoing <- packet.New(0, []byte("ping"))
// Reconnect
newServer, _ := net.Dial("tcp", "localhost:7000")
// Hot-swap connection
client.SetConnection(newServer)
// The previously buffered messages in the Outgoing channel will be sent now.
Style
Please take a look at the style guidelines if you'd like to make a pull request.
Sponsors
Cedric Fung | Scott Rayapoullé | Eduard Urbach |
Want to see your own name here?