Open Source network Communication Library Reference

Source: Internet
Author: User

Tags: des style http io ar os using SP for

Sockets TCP/IP communication Library

C + + Sockets Library

This is a GPL licensed C + + class library wrapping the Berkeley sockets C API, and therefore works on most unixes and also Win32. The library is in use with a number of real world applications, both commercial and open source.

Features include, but is not limited to, SSL support, IPV6 support, TCP and UDP sockets, SCTP sockets, HTTP protocol, HIG Hly Customizable error handling. Testing has been do on Linux and Windows $, and to some part on Solaris and Mac OS x.

References as follow:
"C + + Sockets Library:class diagram"

"C + + Sockets Library"

The Ultimate Tcp-ip

(1) Easy-to-use, powerful Framework

Includes both high-level and low-level APIs.

No need to know Winsock programming. Work with the-perform complex tasks with just a few lines of code.

Works with MFC, ATL and Windows SDK applications.

Fully object oriented, letting you create your own specialized Internet classes with ease.

The library is 100% royalty free.

Unlike other development the this framework was designed to work on the all Win32 versions of Windows (i.e. n only NT) .

Create Highly scalable servers (hundreds of connections per CPU) using our multi-threaded server framework.

Create customized protocols for highly efficient data transfer.

(2) includes Servers for the most Popular protocols

The Server edition of Ultimate TCP/IP includes the Server-side implementations for the following protocols:

Web Server (HTTP protocol).

Finger server.

Fully functional Email and Relay server (SMTP, POP3, DNS)

File Transfer Server (FTP)

Echo server.

*full source for each of the protocols is included

LibcURL

Libcurl-the Multiprotocol File Transfer library.

Libcurl is a free and easy-to-use client-side URL Transfer Library, supporting FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TE Lnet, DICT, LDAP, LDAPS, FILE, IMAP, SMTP, POP3, RTMP and RTSP. Libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, User+pass Word Authentication (Basic, Digest, NTLM, Negotiate, Kerberos4), File transfer resume, HTTP proxy tunneling and more!

Libcurl is highly portable, it builds and works identically on numerous platforms, including Solaris, NetBSD, FreeBSD, Ope NBSD, Darwin, HPUX, IRIX, AIX, Tru64, Linux, UnixWare, HURD, Windows, Amiga, OS/2, BeOs, Mac OS X, Ultrix, QNX, OpenVMS, R ISC OS, Novell NetWare, DOS and more ...

Libcurl is free, Thread-safe, IPV6 compatible, feature rich, well supported, fast, thoroughly documented and is already us Ed by many known, big and successful companies and numerous applications.

Ace

The ADAPTIVE Communication Environment (ACE) is a freely available, Open-source object-oriented (OO) framework that Implem Ents many core patterns for concurrent communication software. ACE provides a rich set of reusable C + + wrapper facades and framework components that perform common communication softwar e tasks across a range of OS platforms. The communication software tasks provided by ACE include event demultiplexing and event handler dispatching, signal Handli NG, service initialization, interprocess communication, shared memory management, message routing, dynamic (re) Configurat Ion of distributed services, concurrent execution and synchronization.

ACE is targeted for developers of High-performance and real-time communication services and applications. It simplifies the development of OO network applications and services that utilize interprocess communication, event Demul Tiplexing, explicit dynamic linking, and concurrency. In addition, ACE automates system configuration and reconfiguration by dynamically linking services to applications at R Un-time and executing these services in one or more processes or threads.

FTP Application

Miniftp

MINIFTP is a Winsock api-based minimal FTP client to being used as a tutorial for using the Winsock API on an MFC environment .

Gftp

Gftp is a free multithreaded file transfer client for *nix based machines.

Kftpgrabber

Kftpgrabber is a graphical FTP client for the K Desktop environment. It implements many features required for usable FTP interaction.

Pure-ftpd

PURE-FTPD is a free (BSD), secure, production-quality and standard-conformant FTP server. It doesn ' t provide useless bells and whistles, but focuses on efficiency and ease of use. IT provides simple answers to common needs, plus unique useful features for personal users as well as hosting providers.

FileZilla

The free FTP solution. Both a client and a server are available. FileZilla is open source software distributed free.

Web Server Framework

(1) Lightweight webserver

Lighttpd

Security, speed, compliance, and flexibility – all of these describe lighttpd (pron. lighty) which is rapidly redefining Efficiency of a webserver; As it is designed and optimized for the high performance environments. With a small memory footprint compared to other web-servers, effective management of the cpu-load, and advanced feature SE T (FastCGI, scgi, Auth, Output-compression, url-rewriting and many more) Lighttpd are the perfect solution for every server That's suffering load problems.

Mongoose (SHTTPD)

Mongoose is a easy-to-use Web server. It can be embedded into existing application to provide a for web interface to it.

Features:

L Crossplatform-works on Windows, MacOS and most flavors of UNIX

L CGI, SSL, SSI, Digest (MD5) Authorization, resumed download, aliases

L ip-based ACL, Windows service, GET, POST, HEAD, PUT, DELETE methods

L Small footprint:executable size is more than KB on Linux 2.6 i386 system, up to Windows system

L embeddable with simple and clean API. Source is in single. c file to make things easy

Thttpd

THTTPD is a simple, small, portable, fast, and secure HTTP server.

Simple:

It handles only the minimum necessary to implement http/1.1. Well, maybe a little more than the minimum.

Small:

See the comparison chart. It also have a very small run-time size, since it does not fork and are very careful about memory allocation.

Portable:

It compiles cleanly on the most any unix-like OS, specifically including FreeBSD, SunOS 4, Solaris 2, Bsd/os, Linux, OSF.

Fast:

In typical use it's about as fast as the best full-featured servers (Apache, NCSA, Netscape). Under extreme load it ' s much faster.

Secure:

It goes to great lengths to protect the Web server machine against attacks and breakins from other sites.

It also have one extremely useful feature (url-traffic-based throttling) that is no other server currently have. Plus, it supports IPv6 out of the box, no patching required.

References as follow:

"Transplant thttpd"

"In-depth study of embedded Web server video surveillance Applications"

(2) IM WebServer

Jabber

Jabber is instantmessaging (IM) server written in pure C Language,which is the origin of XMPP. It is based on XMPP (extensible Messaging and Presence Protocol) expressed in XML. With JABBER/XMPP, differences between the IM is overcomed. It allows communicate between Msn,yahoo, and etc.

Instant messaging between the Google talk servers and its clients uses a open protocol, XMPP, allowing users of other XMP P/jabber clients to communicate and Google talk users. That's any client this supports JABBER/XMPP can connect to the Google talk service. Refer to Google talk and MSN via Jabber together in IChat.

References as follow:

A Web based JABBER/XMPP client

Psi-the cross-platform jabber/xmpp Client for Power Users

"Open source Jabber (XMPP) IM server Introduction"

Installing the Jabberd server

(3) Heavy-webserver

Apache HTTP SERVER PROJECT

The number one HTTP Server on the internet!

The Apache HTTP Server Project is a collaborative software development effort aimed at creating a robust, commercial-grade , featureful, and freely-available source code implementation of an HTTP (WEB) server.

References as follow:

Apache HTTP Server Version 2.2 documentation

"The compilation of Apache httpd-2.2.11 under Windows"

Nginx

Nginx [engine x] is a HTTP and reverse proxy server, as well as a mail proxy server written by Igor Sysoev. It has been running for more than five years on many heavily loaded Russian sites including Rambler (ramblermedia.com). According to Netcraft Nginx served or proxied 4.70% busiest sites in April 2010. Here is some of success Stories:FastMail.FM, WordPress.com.

The sources is licensed under 2-clause bsd-like license.

Basic HTTP Features:
L serving static and index files, and autoindexing; Open file descriptor cache;

L accelerated reverse proxying with caching; Simple load balancing and fault tolerance;

L accelerated support with caching of remote FastCGI servers; Simple load balancing and fault tolerance;

L Modular Architecture. Filters include gzipping, byte ranges, chunked responses, XSLT, SSI, and image resizing filter. Multiple SSI inclusions within a single page can is processed in parallel if they is handled by FastCGI or proxied server S.

L SSL and TLS SNI support.

References as follow:
"Nginx load balancer 10 times times better than Apache"

"Ox X's Nginx, Ox X's Igor Sysoev"

"Nginx Source Analysis"

"Nginx 0.8.47 Release"


"Nginx+php Build Web Server"

"Real Nginx: a high-performance Web server to replace Apache"

Memcache

"Website Cache Full Analysis"

"Cache Performance Analysis"

Cache performance analysis and optimization on simultaneous multi-threaded processors
Memcached

Free & Open Source, High-performance, distributed memory object caching system, generic in nature, and intended for us E in speeding to dynamic Web applications by alleviating database load.

Memcached is a in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database C Alls, API calls, or page rendering.

Memcached is simple yet powerful. Its promotes quick deployment, ease of development, and solves many problems facing large data caches. Its APIs are available for most popular languages.

References as follow:
Complete Anatomy of the memcached

Squid Cache

Squid is a caching proxies for the Web supporting HTTP, HTTPS, FTP, and more. It reduces bandwidth and improves response times by caching and reusing frequently-requested Web pages. Squid has extensive access controls and makes a great server accelerator. It runs on most available operating systems, including Windows and is licensed under the GNU GPL.

Features:

Making the most your Internet Connection

Website Content Acceleration and distribution

Varnish

Varnish is a state-of-the-art, high-performance HTTP accelerator. It uses the advanced features in Linux 2.6, the FreeBSD 6/7 and Solaris Ten to achieve their high performance.

References as follow:
A detailed solution for website cache accelerator using varnish instead of squid

Multimedia streaming and peer

An RTSP Toolkit

Ortp

Ortp-a Real-time Transport Protocol (RFC3550) stack under LGPL

References as follow:

ORTP Document

"ORTP Introduction"

"From RTP to ORTP"

The analysis of ORTP protocol stack

Jrtplib

Jrtplib is a object-oriented RTP library written in C + +. The library offers support for the real-time Transport Protocol (RTP), defined in RFC 3550. It makes it very easy to send and receive RTP packets and the RTCP (RTP Control Protocol) functions is handled entirely I Nternally.

References as follow:

Document Reference

Introduction of streaming media knowledge and its application in RTP

Mpeg4ip

MPEG4IP provides an end-to-end system to explore streaming multimedia. The package includes many existing open source packages and the ' glue ' to integrate them together. This was a tool for streaming video and audio, which is standards-oriented and free from proprietary protocols and extensions .

Spook

Spook is a Linux server application to capture live video and audio and the stream it over an IP network. Currently, Spook supports capturing from a Firewire IIDC camera or Video4linux (2) source and streaming MPEG4 with RTSP or JPEG stills with HTTP.

Spook for Arm

Lscube

The Lscube-libre streaming, Libre software, Libre standards (formerly known as Omsp-open Media streaming Project) is a Free/libre software project, supported by the Internet Media Group, that develops and maintains a suite of programs focus Ed on multimedia streaming. We strive to fully support the IETF's standards for the real-time data transport over IP. The aim of the project is to provide open, free and interoperable solutions on a par with other proprietary streaming APPL Ications. All Lscube software are released under free software licenses.

Fenice-legacy Streaming Server

Feng-the RTSP/RTP Streaming Server

The new streaming server sports various usability and architectural improvement over Fenice, our previous design.

Libnemesi-the RTSP/RTP Client Library

References as follow:

"Fenice VM Process Research"

live555 (VC6 version, VC2005 version)
This code forms a set of C + + libraries for multimedia streaming, using the open standard protocols (RTP/RTCP, RTSP, SIP). These libraries-which can be compiled for Unix (including Linux and Mac OS X), Windows, and QNX (and other Posix-complia NT systems)-can is used to build streaming applications.

References as follow:

Live documentation

Compiling multimedia streaming program library with VC2005

Vlc

Free streaming and multimedia solutions for all os!

VLC is a free and open source Cross-platform Multimedia player and framework, which plays most multimedias files as well as DVD, Audio CD, VCD, and various streaming protocols.

References as follow:

Doc/support

"VLC RTSP Implementation with live555"

The compilation of VLC under the Windows platform

VC6 Compiling vlc-0.9.9a Step description

VLC generation of RTSP test source

Helix

The Helix dna™server

The Helix DNA Server is a universal delivery engine supporting the real time packetization and network transmission of any Media type to any device.

Helix DNA Client

The Helix DNA Client is the universal digital media playback engine, supporting playback of any format and codec on any de Vice. IT provides the underlying multimedia functionality to a whole host of applications that require local and streaming Playb ACK of multiple formats in disparate environements.

Helix Player

The Helix Player is a open source media Player for Linux, Solaris, and Symbian based on the Helix DNA Client media engine .

"RealPlayer 10.0.8 for Wince source"

IP Messenger

This was a pop up style LAN Messenger for multi platforms.

It is based on TCP/IP (UDP).

It does not require server Machine-most primitive peer infrastructure.

Simple, lightweight, and compact size.

References as follow:

"Ipmsg Analysis"

Translation of the ipmsg (Flying Pigeon biography) agreement

"Ipmsg Agreement"

"Ipmsg of Flying Pigeon Transmission Network Protocol analysis of the book"

The most core data structure in the IPMSG

"Ipmsg (Flying Pigeon Biography) file Send source Analysis"

Icecast

Icecast is free server software for streaming audio (Mpeg III) over Internet with peer technology.

Peercast

Peercast is a simple, free-to-listen to radio and watch video on the Internet. It uses peer technology to let anyone become a broadcaster without the costs of traditional streaming.

References as follow:

"Peercast Wang Haoqun Annotated Version"

"Peercast over IPv6"

Myseelite

Myseelite is a peer Media streaming System including servers on Linux and client on Windows 98/nt/2000/xp/2003. It was commercial once and now goes opensource. It is developed from 2003.8 to a company in China.

References as follow:

The principle of peer-network technology and the case of C + + development

"Myseelite Source code and development Analysis"

Open Source network Communication Library Reference

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

Tags Index: