evpp is a modern C++ network library for developing high performance network services in TCP/UDP/HTTP protocols. evpp provides a TCP Server to support multi-threaded nonblocking event-drive server and also a HTTP, UDP Server to support http and udp prococol.NOTE: master is our development branch and may not be stable at all times.
https://github.com/Qihoo360/evppTags | network-library libevent high-performance nonblocking tcp-server http-server udp-server async-functions evpp evnsq evmc cpp11 |
Implementation | C++ |
License | Public |
Platform |
Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution. Asio service is used to host all clients/servers based on Asio C++ library. It is implemented based on Asio C++ Library and use a separate thread to perform all asynchronous IO operations and communications.
tls ssl http performance async https websocket-server websocket tcp-server socket-server tcp-client http-server low-latency udp-server https-server socket-client udp-clientUltra fast and low latency asynchronous socket server & client C# .NET Core library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution. Here comes the example of the TCP chat server. It handles multiple TCP client sessions and multicast received message from any session to all ones. Also it is possible to send admin message directly from the server.
tls ssl http performance async https websocket-server websocket tcp-server socket-server tcp-client http-server low-latency udp-server https-server socket-client udp-clientA Tunnel which Improves your Network Quality on a High-latency Lossy Link by using Forward Error Correction. Assume your local network to your server is lossy. Just establish a VPN connection to your server with UDPspeeder + any UDP-based VPN, access your server via this VPN connection, then your connection quality will be significantly improved. With well-tuned parameters , you can easily reduce IP or UDP/ICMP packet-loss-rate to less than 0.01% . Besides reducing packet-loss-rate, UDPspeeder can also significantly improve your TCP latency and TCP single-thread download speed.
udp-tunnel udp tunnel proxy reed-solomon fecNetty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP and UDP socket server.
event-driven asynchronous framework nio async-ioPull Request is welcomed. First, you need to clone the project to your account, and then modify the code on the dev branch. Finally, Pull Request to dev branch of goproxy project, and contribute code for efficiency. PR needs to explain what changes have been made and why you change them. This page is the v6.0 manual, and the other version of the manual can be checked by the following link.
http-server http-proxy https-proxy https-server websocket http proxy proxy-server reverse-proxy transparent-proxy transparent-proxying transparent-https-proxy reverse-proxies reverseproxy nat-traversal socks udp tcpEthr is a cross platform network performance measurement tool written in golang. Goal of this project is to provide native tool for network performance measurements for bandwidth, connections/s, packets/s, latency, loss & jitter, across multiple protocols such as TCP, UDP, HTTP, HTTPS, and across multiple platforms such as Windows, Linux and other Unix systems. Ethr takes insipiration from existing open source network performance tools and builds upon those ideas. It is very similar to iPerf3 for bandwidth measurements for TCP. iPerf3 has many more options for doing bandwidth measurements such as throttled testing, richer feature set, while Ethr has support for multiple threads, ability to scale to 1024 or even higher connections, multiple clients to single server etc. It is similar to latte on Windows or sockperf on Linux for doing latency measurements.
Turbo is a framework built for LuaJIT 2 to simplify the task of building fast and scalable network applications. It uses a event-driven, non-blocking, no thread design to deliver excellent performance and minimal footprint to high-load applications while also providing excellent support for embedded uses. The toolkit can be used for HTTP REST API's, traditional dynamic web pages through templating, open connections like WebSockets, or just as high level building blocks for native speed network applications. First and foremost the framework is aimed at the HTTP(S) protocol. This means web developers and HTTP API developers are the first class citizens. But the framework contains generic nuts and bolts such as; a I/O loop, IO Stream classes, customizeable TCP (with SSL) server classes giving it value for everyone doing any kind of high performance network application. It will also speak directly to your exising C libraries, and happily also create native C struct's for the ultimate memory and CPU performance.
luajit api-server network httpWorkerman is an asynchronous event driven PHP framework with high performance for easily building fast, scalable network applications. Supports HTTP, Websocket, SSL and other custom protocols. Supports libevent, HHVM , ReactPHP.
reactphp websocket timer socket event-driven asynchronous hhvm webserver workerman ws ssl wss https network high-performance realtime socket-server tcpAleph exposes data from the network as a Manifold stream, which can easily be transformed into a java.io.InputStream, core.async channel, Clojure sequence, or many other byte representations. It exposes simple default wrappers for HTTP, TCP, and UDP, but allows access to full performance and flexibility of the underlying Netty library. Aleph follows the Ring spec fully, and can be a drop-in replacement for any existing Ring-compliant server. However, it also allows for the handler function to return a Manifold deferred to represent an eventual response. This feature may not play nicely with synchronous Ring middleware which modifies the response, but this can be easily fixed by reimplementing the middleware using Manifold's let-flow operator. aleph.http/wrap-ring-async-handler helper can be used to covert async 3-arity Ring handler to Aleph-compliant one.
A rust implementation of gRPC, a high performance, open source, general RPC framework that puts mobile and HTTP/2 first. Tonic is a gRPC over HTTP/2 implementation focused on high performance, interoperability, and flexibility. This library was created to have first class support of async/await and to act as a core building block for production systems written in Rust.
async grpc rpc proto http2 rpc-framework networking network-libraryApache ActiveMQ is the most popular and powerful open source messaging and Integration Patterns provider. Apache ActiveMQ is fast, supports many Cross Language Clients and Protocols, comes with easy to use Enterprise Integration Patterns and many advanced features while fully supporting JMS 1.1 and J2EE 1.4.
messaging message-broker integration-pattern asynchronous message-queueAsync, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP. The socket library provides re-usable interfaces for a socket-layer server and client based on the EventLoop and Stream components. Its server component allows you to build networking servers that accept incoming connections from networking clients (such as an HTTP server). Its client component allows you to build networking clients that establish outgoing connections to networking servers (such as an HTTP or database client). This library provides async, streaming means for all of this, so you can handle multiple concurrent connections without blocking.
message-io is a fast and easy-to-use event-driven network library. The library handles the OS socket internally and offers a simple event message API to the user. It also allows you to make an adapter for your own transport protocol following some rules, delegating the tedious asynchrony and thread management to the library. Managing sockets is hard because you need to fight with threads, concurrency, full duplex, encoding, IO errors that come from the OS (which are really difficult to understand in some situations), etc. If you make use of non-blocking sockets, it adds a new layer of complexity: synchronize the events that come asynchronously from the Operating System.
events tcp sockets asynchronous network websocket udp actor-model tcp-server message-queue transport event-driven udp-server multicast network-programming non-blocking event-manager event-driven-architecture actor-system message-drivenNano is an easy to use, fast, lightweight game server networking library for Go. It provides a core network architecture and a series of tools and libraries that can help developers eliminate boring duplicate work for common underlying logic. The goal of nano is to improve development efficiency by eliminating the need to spend time on repetitious network related programming.Nano was designed for server-side applications like real-time games, social games, mobile games, etc of all sizes.
game server protobuf json tcp-server websocket-server networking lightweight micro game-engine gamesNano is an easy to use, fast, lightweight game server networking library for Go. It provides a core network architecture and a series of tools and libraries that can help developers eliminate boring duplicate work for common underlying logic. The goal of nano is to improve development efficiency by eliminating the need to spend time on repetitious network related programming. Nano was designed for server-side applications like real-time games, social games, mobile games, etc of all sizes.
game server protobuf json tcp-server websocket-server networking lightweight microWith the rapid development of Network Interface Cards the poor performance of data packet processing with the Linux kernel has become the bottleneck in modern network systems. Yet, the increasing demands of the Internet's growth demand a higher performant network processing solution. Kernel bypass has emerged to catch more and more attention. There are various similar technologies such as: DPDK, NETMAP and PF_RING. The main idea of kernel bypass is that Linux is only used to deal with control flow; all data streams are processed in user space. Therefore, kernel bypass can avoid performance bottlenecks caused by kernel packet copying, thread scheduling, system calls, and interrupts. Furthermore, kernel bypass can achieve higher performance with multi-optimizing methods. Within various techniques, DPDK has been widely used because of it's more thorough isolation from kernel scheduling and active community support. To deal with the increasingly severe DDoS attacks the authorized DNS server of Tencent Cloud DNSPod switched from Gigabit Ethernet to 10-Gigabit at the end of 2012. We faced several options: one is to continue to use the original network stack in the Linux kernel, another is to use kernel bypass techniques. After several rounds of investigation; we finally chose to develop our next generation of DNS server based on DPDK. The reason is DPDK provides ultra-high performance and can be seamlessly extended to 40G, or even 100G NIC, in the future.
Packet Sender is an open source utility to allow sending and receiving TCP, UDP, and SSL (encrypted TCP) packets. The mainline branch officially supports Windows, Mac, and Desktop Linux (with Qt). Other places may recompile and redistribute Packet Sender. Packet Sender is free and licensed GPL v2 or later. It can be used for both commercial and personal use. Official releases of Packet Sender can be downloaded at PacketSender.com. Some places redistribute Packet Sender.
packet-sender ipv4 tcp tcp-server udp-server tcp-client ssl ipv6 udp ssl-client ssl-server packetsender c-plus-plus ssl-connectionYet another fast and efficient HTTP server. The purpose of Zaver is to help developers understand how to write a high performance server based on epoll. Although Nginx is a good learning example, its complexity and huge code base make people discouraged. Zaver uses as few codes as possible to demonstrate the core structure of high performance server like Nginx. Developers can lay a solid foundation by learning Zaver for further study in network programming.
http-server epoll nginx high-performanceA CS development framework based on small-to-medium sized refining, covering computer-side, web-side, and mobile-side full-platform system templates, will include some commonly used repetitive function codes, such as network communication mechanisms, in most one-to-many system designs. Client version control, account control management, password modification, announcement management, server configuration, various common windows, etc., and most small and medium-sized systems just need simple rights management. This framework contains four client-side modes, the first commonly used winform client, the second is the wpf client, the third is the asp.net mvc mode, and the fourth is the client of the Android platform. You can choose a mode on winform and wpf clients, then your system provides some functions (such as report viewing) to asp.net, and then provide an Android app for mobile phone use, if the server is assumed in the cloud, all People can interact with anytime, anywhere, data flow, all account models are unified, the browser is also convenient for some people who only need to view the report users do not need to deploy the client. Of course, the client can provide more powerful features.
network server client socket c-s plc profinet pc modbus-tcp tcp-socket udp-socket winform json winccA simple to use TCP and UDP networking library for .NET, designed to be flexible, scalable and FAST. Creating a server is easy..
netcore networking tcp udp tcp-server udp-server netstandard unity3d unity dotnetcore dotnetstandard
We have large collection of open source products. Follow the tags from
Tag Cloud >>
Open source products are scattered around the web. Please provide information
about the open source projects you own / you use.
Add Projects.