Top 23 Networking Open-Source Projects
-
OkHttp
Square’s meticulous HTTP client for the JVM, Android, and GraalVM.
-
Alamofire
Elegant HTTP Networking in Swift
Latest mention: Is Alamofire the industry standard or does your company handle networking differently? | reddit.com/r/iOSProgramming | 2021-01-24AlamoFire doesn’t support background configurations. Makes it impossible for my company to use AlamoFire for the one part of the app where it’d be useful as we support uploading/downloading unlimited numbers of files at a time (data driven app with offline support). If you’re downloading/uploading 10GB of data, you don’t want to be stuck sitting in an app waiting for it to finish... I’d be shocked if it’s an industry standard with such an important core feature missing.
-
Dubbo
Apache Dubbo is a high-performance, java based, open source RPC framework.
-
AFNetworking
A delightful networking framework for iOS, macOS, watchOS, and tvOS.
-
Netty
Netty project - an event-driven asynchronous network application framework
Netty https://github.com/netty/netty
-
libcurl
A command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP. libcurl offers a myriad of powerful features
Latest mention: Food on the table while giving away source code | reddit.com/r/programming | 2021-01-15https://github.com/curl/curl/blob/master/src/tool_urlglob.c#L199
-
libuv
Cross-platform asynchronous I/O
I submitted a PR to make a small improvement the libuv documentation... [0] and the stale bot wants to close it on me.
I think closing PRs as stale is particularly annoying.
-
fasthttp
Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http
fasthttp
-
Moya
Network abstraction layer written in Swift.
What is the advantage of your library over established solutions like Moya or protocol oriented networking approaches?
-
kcptun
A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC. Available for ARM, MIPS, 386 and AMD64。KCPプロトコルに基づく安全なトンネル。KCP 프로토콜을 기반으로 하는 보안 터널입니다。
-
CocoaAsyncSocket
Asynchronous socket networking library for Mac and iOS
-
tokio
A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...
This is not about the task panicing or aborting. It's about the parent task (scope owner) panicing or abort - e.g. because it's inside a select!. In that case the child tasks are now unowned, and it's tricky to find a good solution on what you do with them. The same would totally apply to async-std or any other current async rust runtime. The unfortunately rather long discussion in 1879 describes it. The whole design and implementation for this had been fairly agnostic to any runtime. All it needs is a spawn function and join handles. Those were hardcoded to tokios, but that doesn't mean it couldn't be either generalized or ported somewhere else. But the same set of challenges will apply.
-
RestKit
RestKit is a framework for consuming and modeling RESTful web resources on iOS and OS X
-
KCP
:zap: KCP - A Fast and Reliable ARQ Protocol
-
Muduo
Event-driven network library for multi-threaded Linux server in C++11
-
gRPC
The Java gRPC implementation. HTTP/2 based RPC
Another interesting link is their official grpc-java benchmarks project, which is also used in the benchmark I've posted you.
-
Finagle
A fault tolerant, protocol-agnostic RPC system
-
uvloop
Ultra fast asyncio event loop.
-
cilium
eBPF-based Networking, Security, and Observability
cilium/cilium (Go): eBPF-based Networking, Security, and Observability
-
libevent
Event notification library
-
Proxygen
A collection of C++ HTTP libraries including an easy to use HTTP server.
-
Mongoose
Mongoose Embedded Web Server Library - a multi-protocol embedded networking library with TCP/UDP, HTTP, WebSocket, MQTT built-in protocols, async DNS resolver, and non-blocking API.
Perhaps check out mongoose (https://github.com/cesanta/mongoose).
-
ZeroMQ
ZeroMQ core engine in C++, implements ZMTP/3.1
Latest mention: can you recommend a production level C++ open source project that I can learn what is the production level code looks like? | reddit.com/r/Cplusplus | 2021-01-22
Index
What are some of the best open-source Networking projects? This list will help you:
Project | Stars | |
---|---|---|
1 | OkHttp | 39,257 |
2 | Alamofire | 35,128 |
3 | Dubbo | 34,560 |
4 | AFNetworking | 33,076 |
5 | Netty | 25,831 |
6 | libcurl | 19,206 |
7 | libuv | 16,618 |
8 | fasthttp | 14,285 |
9 | Moya | 12,743 |
10 | kcptun | 12,267 |
11 | CocoaAsyncSocket | 11,862 |
12 | tokio | 10,919 |
13 | RestKit | 10,285 |
14 | KCP | 9,255 |
15 | Muduo | 8,902 |
16 | gRPC | 8,346 |
17 | Finagle | 7,865 |
18 | uvloop | 7,465 |
19 | cilium | 7,333 |
20 | libevent | 7,085 |
21 | Proxygen | 7,003 |
22 | Mongoose | 6,839 |
23 | ZeroMQ | 6,700 |