- 浏览: 908827 次
文章分类
最新评论
-
eap777:
很庆幸楼主把读书这个习惯坚持下来了
两年的java高手路 -
bestxiaok:
面对潮起潮落,即使公司大幅度萎缩,我们不仅要淡定,也要矢志不移 ...
任正非首谈接班人制度 -
ayaga:
关键是要看真的,不要看假的。
创业者需要了解的基本财务知识 -
ayaga:
跟着党学,华为就是个小社会。
任正非首谈接班人制度 -
zzchsppy:
本人初学者 谢谢
指针
开源网络通信库参考
Sockets tcp/ip communication 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 in a number of real world applications, both commercial and open source.
Features include, but are not limited to, SSL support, IPv6 support, tcp and udp sockets, sctp sockets, http protocol, highly customizable error handling. Testing has been done on Linux and Windows 2000, and to some part on Solaris and Mac OS X.
References as follow:
《C++ Sockets Library: Class diagram》
(1)Easy To Use, Powerful Framework
Includes both high-level and low-level APIs.
No need to know Winsock programming. Work with the high level APIs to 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 components this framework is designed to work on all Win32 versions of Windows (i.e. not 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 - 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, TELNET, 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+password 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, OpenBSD, Darwin, HPUX, IRIX, AIX, Tru64, Linux, UnixWare, HURD, Windows, Amiga, OS/2, BeOs, Mac OS X, Ultrix, QNX, OpenVMS, RISC OS, Novell NetWare, DOS and more...
libcurl is free, thread-safe, IPv6 compatible, feature rich, well supported, fast, thoroughly documented and is already used by many known, big and successful companies and numerous applications.
The ADAPTIVE Communication Environment (ACE) is a freely available, open-source object-oriented (OO) framework that implements many core patterns for concurrent communication software. ACE provides a rich set of reusable C++ wrapper facades and framework components that perform common communication software tasks across a range of OS platforms. The communication software tasks provided by ACE include event demultiplexing and event handler dispatching, signal handling, service initialization, interprocess communication, shared memory management, message routing, dynamic (re)configuration 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 demultiplexing, explicit dynamic linking, and concurrency. In addition, ACE automates system configuration and reconfiguration by dynamically linking services into applications at run-time and executing these services in one or more processes or threads.
FTP Application
MiniFTP is a Winsock API-based minimal FTP client to be used as a tutorial for using the Winsock API in an MFC environment.
gFTP is a free multithreaded file transfer client for *NIX based machines.
KFTPgrabber is a graphical FTP client for the K Desktop Environment. It implements many features required for usable FTP interaction.
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.
The free FTP solution. Both a client and a server are available. FileZilla is open source software distributed free.
Web Server Framework
(1)轻量级WebServer
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 high performance environments. With a small memory footprint compared to other web-servers, effective management of the cpu-load, and advanced feature set (FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting and many more) lighttpd is the perfect solution for every server that is suffering load problems.
Mongoose is an easy to use web server. It can be embedded into existing application to provide a 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 40 kB on Linux 2.6 i386 system, 60 kB on Windows system
l Embeddable with simple and clean API. Source is in single .c file to make things easy
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 has a very small run-time size, since it does not fork and is very careful about memory allocation.
Portable:
It compiles cleanly on 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 has one extremely useful feature (URL-traffic-based throttling) that no other server currently has. Plus, it supports IPv6 out of the box, no patching required.
References as follow:
《移植thttpd》
(2)IM WebServer
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 are overcomed. It allows you to communicate between MSN,Yahoo, and etc.
Instant messaging between the Google Talk servers and its clients uses an open protocol, XMPP, allowing users of other XMPP/Jabber clients to communicate with Google Talk users. That is any client that 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
(3)重量级WebServer
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
《Windows 下Apache httpd-2.2.11编译手记》
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 are some of success stories: FastMail.FM, Wordpress.com.
The sources are licensed under 2-clause BSD-like license.
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 be processed in parallel if they are handled by FastCGI or proxied servers.
l SSL and TLS SNI support.
References as follow:
Memcache
Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.
Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.
Memcached is simple yet powerful. Its simple design promotes quick deployment, ease of development, and solves many problems facing large data caches. Its API is available for most popular languages.
References as follow:
Squid is a caching proxy 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 of your Internet Connection
Website Content Acceleration and Distribution
Varnish is a state-of-the-art, high-performance HTTP accelerator. It uses the advanced features in Linux 2.6, FreeBSD 6/7 and Solaris 10 to achieve its high performance.
References as follow:
《使用Varnish代替Squid做网站缓存加速器的详细解决方案》
oRTP - a Real-time Transport Protocol (RFC3550) stack under LGPL
References as follow:
JRTPLIB is an 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 are handled entirely internally.
References as follow:
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 is a tool for streaming video and audio that is standards-oriented and free from proprietary protocols and extensions.
Spook is a Linux server application to capture live video and audio and 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.
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 focused 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 applications. All LScube software is 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:
This code forms a set of C++ libraries for multimedia streaming, using 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-compliant systems) - can be used to build streaming applications.
References as follow:
Free streaming and multimedia solutions for all OS!
VLC is a free and open source cross-platform multimedia player and framework, that plays most multimedias files as well as DVD, Audio CD, VCD, and various streaming protocols.
References as follow:
《VLC RTSP implementation with live555》
The Helix DNA Server is a universal delivery engine supporting the real time packetization and network transmission of any media type to any device.
The Helix DNA Client is the universal digital media playback engine, supporting playback of any format and codec on any device. It provides the underlying multimedia functionality to a whole host of applications that require local and streaming playback of multiple formats in disparate environements.
The Helix Player is an open source media player for Linux, Solaris, and Symbian based on the Helix DNA Client media engine.
《RealPlayer 10.0.8 For Wince 源码》
This is a pop up style LAN Messenger for multi platforms.
It is based on TCP/IP(UDP).
It does not require server machine-most primitive P2P infrastructure.
Simple, lightweight, and compact size.
References as follow:
《IPMSG分析》
《IPMSG协议》
icecast is free server software for streaming audio(Mpeg III) over Internet with P2P technology.
PeerCast is a simple, free way to listen to radio and watch video on the Internet. It uses P2P technology to let anyone become a broadcaster without the costs of traditional streaming.
References as follow:
MyseeLite is a P2P Media Streaming System including servers on Linux and client on Windows 98/NT/2000/XP/2003. It was commercial once, but now goes opensource. It was developed from 2003.8 by a company in China.
References as follow:
《P2P网络技术原理与C++开发案例》
博客参考
bbisonic的专栏--专注于P2P流媒体技术的研究
windcao的专栏--先得道,后求术
相关推荐
并通过ESP8266模块实现网络通信进行控制。代码中利用了部分stm32的开源库。还涉及到一些网络部署。 门锁机械结构大致如下图所示 门锁的界面演示大概如图 本门锁硬件部分代码运用了正点原子表示的官方库并进行了修改...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java...
C库代表超重量级网络通信开发框架ACE自适配通信环境(Adaptive Communication Environment)是可 以自由使用、开放源代码面向对象框架在其中实现了许多用于并发通信软件Software核心模式ACE提供了组丰 富可复用C包装...
真棒开放 精选的出色开源物联网框架,库和软件列表。 请注意,该列表仅包含我们认为与IoT特别相关的组件(例如,它们适用于嵌入式IoT设备,应对IoT通信网络的特定限制等)。 读者可能希望参考目录以获取其编程语言或...
3. **网络通信**:实现了基于TCP/IP协议的网络通信,支持多人在线对战。 4. **图形界面**:采用Swing库设计了美观的图形用户界面,提供了友好的交互体验。 5. **游戏逻辑**:包含了丰富的游戏元素,如角色、泡泡、...
源码说明: 这是一个通过C#网络socket功能,通过CIP协议实现AB,欧姆龙NJ/NX系列PLC简单标签(不包括数组结构体联合体)读写的例子,希望给研究CIP协议通信采集PLC数据的同学一个参考。 适合人群:新手及有一定经验...
高级java笔试题 :light_bulb: 简介 本仓库旨在: 帮助大家发现新鲜有趣的小型开源项目 帮助开发者推广自己初创的开源项目 ...一个功能强悍的网络请求库,使用RxJava2 + Retrofit2 + OKHttp组合进行
面向信息化和工控应用,集中展示了基于LoongArch平台的桌面终端、工作站、服务器、存储、AI、信息化一体机、网络通信设备、网络安全设备、密码产品、工控计算机、服务器BMC、打印机等生态产品。 龙芯行业实践案例全...
主要内容包括:易语言概述、数据类型、变量、常量、资源、命令、流程控制命令、子程序、窗口组件、多媒体、网络与通讯、系统控制、易数据库、外部数据库、API调用、易模块、DLL的编写与调用、OCX组件与类型库、COM...
主要内容包括:易语言概述、数据类型、变量、常量、资源、命令、流程控制命令、子程序、窗口组件、多媒体、网络与通讯、系统控制、易数据库、外部数据库、API调用、易模块、DLL的编写与调用、OCX组件与类型库、COM...
主要内容包括:易语言概述、数据类型、变量、常量、资源、命令、流程控制命令、子程序、窗口组件、多媒体、网络与通讯、系统控制、易数据库、外部数据库、API调用、易模块、DLL的编写与调用、OCX组件与类型库、COM...
主要内容包括:易语言概述、数据类型、变量、常量、资源、命令、流程控制命令、子程序、窗口组件、多媒体、网络与通讯、系统控制、易数据库、外部数据库、API调用、易模块、DLL的编写与调用、OCX组件与类型库、COM...
主要内容包括:易语言概述、数据类型、变量、常量、资源、命令、流程控制命令、子程序、窗口组件、多媒体、网络与通讯、系统控制、易数据库、外部数据库、API调用、易模块、DLL的编写与调用、OCX组件与类型库、COM...
主要内容包括:易语言概述、数据类型、变量、常量、资源、命令、流程控制命令、子程序、窗口组件、多媒体、网络与通讯、系统控制、易数据库、外部数据库、API调用、易模块、DLL的编写与调用、OCX组件与类型库、COM...
主要内容包括:易语言概述、数据类型、变量、常量、资源、命令、流程控制命令、子程序、窗口组件、多媒体、网络与通讯、系统控制、易数据库、外部数据库、API调用、易模块、DLL的编写与调用、OCX组件与类型库、COM...
主要内容包括:易语言概述、数据类型、变量、常量、资源、命令、流程控制命令、子程序、窗口组件、多媒体、网络与通讯、系统控制、易数据库、外部数据库、API调用、易模块、DLL的编写与调用、OCX组件与类型库、COM...