sockets - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, macOS.

  •        128

Our goal is to create a safe and empowering environment for anyone who decides to use or contribute to Vapor. Please help us make the community a better place by abiding to this Code of Conduct during your interactions surrounding this project.



Related Projects

node-ipc - Inter Process Communication Module for node supporting Unix sockets, TCP, TLS, and UDP

a nodejs module for local and remote Inter Process Communication with full support for Linux, Mac and Windows. It also supports all forms of socket communication from low level unix and windows sockets to UDP and secure TLS and TCP sockets. This work is licenced via the DBAD Public Licence.


Indy.Sockets is an open source socket library that supports clients, servers, TCP, UDP, raw sockets, as well as over 100 higher level protocols such as SMTP, POP3, NNTP, HTTP, and many more. Indy.Sockets is available for C#, C++, Delphi, Visual Basic.NET, any .NET language, an...

Secure Socket Funneling - Network tool and toolkit

Secure Socket Funneling (SSF) is a network tool and toolkit. It provides simple and efficient ways to forward data from multiple sockets (TCP or UDP) through a single secure TLS link to a remote computer. SSF also allows dynamic port forwarding with a SOCKS server from the client to the server and from the server to the client.

Packet Rush Networking Framework

The Packet Rush Networking Framework (PRNF) provides a client/server networking layer that abstracts away from the underlying communication mechanism such as UDP or TCP.

nssocket - An elegant way to define lightweight protocols on-top of TCP/TLS sockets in node.js

An elegant way to define lightweight protocols on-top of TCP/TLS sockets in node.js

vapor - A server-side Swift web framework.

Vapor is the most used web framework for Swift. It provides a beautifully expressive and easy to use foundation for your next website, API, or cloud project.Join the welcoming community of fellow Vapor developers in slack.

Endpoint C++ Socket Library

Endpoint is a portable C++ socket library, which runs on Unix or Win32, utilizing IPv4 or IPv6, and supports TCP, UDP, and raw sockets as clients or servers. Endpoint is easy to use for the beginning or advanced socket programmer.


DyConnect is a cross-platform networking library for C++. Features include: synchronized variables for rapid development of networked games, multi-threaded TCP/IP, low-level UDP sockets, support for IPv4 and IPv6, and data compression.

TTCP for Windows Embedded Compact

TTCP for Windows Embedded Compact. TTCP is a command-line sockets-based benchmarking tool for measuring TCP and UDP performance between two systems. It was originally developed for the BSD operating system starting in 1984. This port is based on PCAUSA's winsock port.

libsocket - The ultimate socket library for C and C++, supporting TCP, UDP and Unix sockets (DGRAM and STREAM) on Linux, FreeBSD, Solaris

This installs the SOs and to /usr/lib/ and the header files to /usr/include/libsocket. You may change these paths in the CMakeLists.txt file in the project root. Note the changed library name on SunOS.

Generic Buffer

General line based buffer with backlog written in quot;Cquot;. It supports multiple input and a single output. I/O modules: TCP/IP, UDP/IP, Unix sockets, File/Pipe. It supports backlog writing (and resume) so a failsafe transport-buffer can be build.


NetClass is a multi-platform library written in C++ that provides a thin wrapper around sockets (TCP/UDP) and thread implementations. The library also contains code for writing a generic server application easily with a simple interface.

libuv - Cross platform Asynchronous I/O

libuv is a multi-platform support library with a focus on asynchronous I/O. It was primarily developed for use by Node.js, but it’s also used by Luvit, Julia, pyuv, and others. Its feature includes event loop backed by epoll, kqueue, IOCP, event ports. Asynchronous TCP and UDP sockets, Asynchronous DNS resolution, Thread pool, Signal handling and lot more.

UDP Unicorn

**Version 2.0 Released** - UDP Unicorn is a Win32 UDP flooding/DoS (Denial of Service) utility with multithreading. Uses Winsock to create UDP sockets and flood a target. For network security testing. Video: Ask questions on Facebook page:

Kinect Shape Game Connect with Windows Phone

The classic Shape Game for Microsoft Kinect extended to allow players to join in the game and deploy shapes from their windows phone. Uses TCP sockets. For educational purposes. Free to download and distribute.


XSockets - open, lightweight and highly portable library of universal and eXtensible Super Sockets for point-to-point communication. A unified API for many communication methods between programs and/or devices (e.g. TCP/IP sockets,serial link,pipes,IrDA)

nanomsg - High Performance Messaging Library

The nanomsg library is a simple high-performance implementation of several "scalability protocols". These scalability protocols are light-weight messaging protocols which can be used to solve a number of very common messaging patterns, such as request/reply, publish/subscribe, surveyor/respondent, and so forth. These protocols can run over a variety of transports such as TCP, UNIX sockets, and even WebSocket. It aims to make the networking layer fast, scalable, and easy to use.

nssocket - An elegant way to define lightweight protocols on-top of TCP/TLS sockets in node.js

Working within node.js it is very easy to write lightweight network protocols that communicate over TCP or TLS. The definition of such protocols often requires repeated (and tedious) parsing of individual TCP/TLS packets into a message header and some JSON body.Although this is not as optimal as other message formats (pure binary, msgpack) most of your applications are probably IO-bound, and not by the computation time needed for serialization / deserialization. When working with NsSocket instances, all events are namespaced under data to avoid collision with other events.

statsd-instrument - A StatsD client for Ruby apps

This is a ruby client for statsd ( It provides a lightweight way to track and measure metrics in your application.We call out to statsd by sending data over a UDP socket. UDP sockets are fast, but unreliable, there is no guarantee that your data will ever arrive at its location. In other words, fire and forget. This is perfect for this use case because it means your code doesn't get bogged down trying to log statistics. We send data to statsd several times per request and haven't noticed a performance hit.

udptunnel - It allows TCP/UDP/ICMP traffic over UDP tunneling

It allows TCP/UDP/ICMP traffic over UDP tunneling. It's useful to avoid Internet restrictions. So far, I've tested this technique in an OSX machine (connected to cellphone) and a Linux machine (connected to full access Internet connection). Once you have access to mobile operator's portal cautivo, you can access to limited services, such as DNS, and TCP ports distinct to 80 (HTTP). I don't use proxy over TCP because TCP connections receive an arbitrary RESET at any time. Also, I figure out that 53 UDP port has the best performance, with lower packet loss.