All Projects â†’ aerogo â†’ packet

aerogo / packet

Licence: other
📦 Send network packets over a TCP or UDP connection.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to packet

Dnsguide
A guide to writing a DNS Server from scratch in Rust
Stars: ✭ 2,226 (+3173.53%)
Mutual labels:  tcp, udp, network-programming
Message Io
Event-driven message library for building network applications easy and fast.
Stars: ✭ 321 (+372.06%)
Mutual labels:  tcp, udp, network-programming
ddos
Simple dos attack utility
Stars: ✭ 36 (-47.06%)
Mutual labels:  tcp, udp, packet
protocol
Easy protocol definitions in Rust
Stars: ✭ 151 (+122.06%)
Mutual labels:  tcp, udp, network-programming
nc
Porting Netcat in Node.js. CLI util. 💻
Stars: ✭ 17 (-75%)
Mutual labels:  tcp, udp
Rmessage
Reactive Programming Multi-protocol push service
Stars: ✭ 23 (-66.18%)
Mutual labels:  tcp, udp
dpdk
A comprehensive rust binding for DPDK allowing high speed userspace networking across 256 cores and 32 NICs
Stars: ✭ 30 (-55.88%)
Mutual labels:  tcp, udp
knockonports
A port knocking client for Android
Stars: ✭ 25 (-63.24%)
Mutual labels:  tcp, udp
socket
Dazzle Async Socket
Stars: ✭ 19 (-72.06%)
Mutual labels:  tcp, udp
asyncio-socks-server
A SOCKS proxy server implemented with the powerful python cooperative concurrency framework asyncio.
Stars: ✭ 154 (+126.47%)
Mutual labels:  tcp, udp
packetdrill
packetdrill with UDPLite and SCTP support and bug fixes for FreeBSD
Stars: ✭ 37 (-45.59%)
Mutual labels:  tcp, udp
iit-kgp-network
Information repository and Solutions on IIT KGP Internet Problems.
Stars: ✭ 28 (-58.82%)
Mutual labels:  tcp, udp
voice
Implementation of the Discord Voice API for discord.js and other JS/TS libraries
Stars: ✭ 310 (+355.88%)
Mutual labels:  tcp, udp
udp2raw
A Tunnel which Turns UDP Traffic into Encrypted UDP/FakeTCP/ICMP Traffic by using Raw Socket,helps you Bypass UDP FireWalls(or Unstable UDP Environment)
Stars: ✭ 5,256 (+7629.41%)
Mutual labels:  tcp, udp
ctsTraffic
ctsTraffic is a highly scalable client/server networking tool giving detailed performance and reliability analytics
Stars: ✭ 125 (+83.82%)
Mutual labels:  tcp, udp
ComputerNetworks-unipd2018
Tips and resources to easily pass the "Computer Networks" practical exam ("Reti di calcolatori") in Padua
Stars: ✭ 21 (-69.12%)
Mutual labels:  tcp, udp
Magician
Magician is a small HTTP service package based on Netty that makes it very easy to start an http service, and also supports WebSocket, using annotated configuration Handler, If you want to develop an http service with netty but find it cumbersome, then Magician may help you.
Stars: ✭ 97 (+42.65%)
Mutual labels:  tcp, udp
Socketify
Raw TCP and UDP Sockets API on Desktop Browsers
Stars: ✭ 67 (-1.47%)
Mutual labels:  tcp, udp
ccxx
This is a cross-platform library software library about c, c ++, unix4, posix. Include gtest, benchmark, cmake, process lock, daemon, libuv, lua, cpython, re2, json, yaml, mysql, redis, opencv, qt, lz4, oci ... https://hub.docker.com/u/oudream
Stars: ✭ 31 (-54.41%)
Mutual labels:  tcp, udp
dats
📈 Minimalistic zero-dependencies statsd client for Node.js
Stars: ✭ 63 (-7.35%)
Mutual labels:  tcp, udp

packet

Godoc Report Tests Coverage Sponsor

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
Cedric Fung Scott Rayapoullé Eduard Urbach

Want to see your own name here?

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].