-
开源一个网络通信库,TCP,UDP,HTTP,SSL,windows,linux,自拆包组包 asio2
2017-11-17 09:44:30已将boost::asio代码单独摘出并引入,无需安装boost和openssl库,所有代码均是hpp文件,以源码级链入,只需在工程的Include包含目录中添加asio2路径,然后在源码中#include <asio2/asio2.hpp>包含头文件即可;... -
开源库muduo学习-总结篇
2017-01-13 10:41:41木铎是一个 开源的tcp网络库,帮助我们实现底层TCP逻辑,我们只需关注业务逻辑的实现即可。保证 数据有效完整的到达,客户端重连。 里面用了 现代c++ linux新系统调用。 Reator 事件循环是核心, one loop per ...首先感谢原著 陈硕大牛的奉献,使我对TCP网络编程加深认识,清楚了多线程编程模型及适用范围,现代C++资源管理,事件回调的用法;
木铎是一个 开源的tcp网络库,帮助我们实现底层TCP逻辑,我们只需关注业务逻辑的实现即可。保证 数据有效完整的到达,客户端重连。
里面用了 现代c++ linux新系统调用。 Reator 事件循环是核心, one loop per thread 模式,非阻塞+IO多路复用 。
阐述了几大部分: 1 多线程对象生命期管理 2 多线程使用的通讯原理 3 多线程的选型 4 muduo库的 性能 适用范围 和其他常见网络库的对比
5 muduo代码结构及功能 以及由浅到深的介绍了实现机制 6 谈了分布式编程应用 7 c++反思
muduo的架构决定了 高并发高性能的处理数据,以及灵活的组件,支持多业务服务端集成,对redis thrift等第三方库很好的集成;
-
Technology_Primers:此存储库包含有关重要信息技术主题的各种入门,例如Linux,免费和开源软件,TCPIP堆栈...
2021-02-17 21:18:05该存储库包含有关重要信息技术主题的各种入门知识,例如Linux,免费和开源软件,TCP / IP堆栈以及对等网络。 选择主题的依据是他们对那些正在穿越比特币兔子洞的方式的人们的相关性,并且发现他们对信息技术的一般... -
基于Linux开源VOIP系统LinPhone[二]
2013-01-26 17:13:25在LinPhone这个系统中,第一个我们要介绍的第三方库组件:oRTP --a Real-time Transport Protocol (RTP,RFC3550) library,oRTP是基于LGPL下的开源的实时传输协议,对于RTP协议主要是用于音频和视频的网络实时传输。...***************************************************************************************************************************
作者:EasyWave 时间:2013.01.26类别:Linux 应用LinPhone组件oRTP 声明:转载,请保留链接
注意:如有错误,欢迎指正。这些是我学习的日志文章......
***************************************************************************************************************************
在LinPhone这个系统中,第一个我们要介绍的第三方库组件:oRTP --a Real-time Transport Protocol (RTP,RFC3550) library,oRTP是基于LGPL下的开源的实时传输协议,对于RTP协议主要是用于音频和视频的网络实时传输。有两种方式:UDP和TCP。现在来简单介绍oRTP的基本功能,后续,还会将如何在ARM-Linux编译、Windows下如何编译都会弄出来哈。废话少说,进入oRTP功能介绍吧,主要功能如下:
-
采用纯C写的代码,可以在Linux、Windows等运行以及移植
-
基于RFC3550(RTP:实时应用程序传输协议),易于使用的API函数,高级别和低级别的访问
-
包含多配置文件之后,AV profile (RFC3551)是默认支持的一个
-
包含一个数据包调度程序,以准时的支持接收和发送包,根据他们的时间戳,调度是可选的,并且RTP会话能够保持而不scheduled.
-
支持复用IO,使得数以百计的RTP会话能被单一的进程中调度
-
自适应抖动算法的接收器,以适应发送端的时钟速率
-
支持RFC2833中的telephone events
-
使用doxygen的API文档
-
GNU通用公共许可证下授权
- RTCP messages sent periodically since 0.7.0 (compound packet including sender report or receiver report + SDES)[不好翻译,还是用原文吧]
- 包含一个解析传入的RTCP包的API
Download
- Releases of source tar.gz are here.
- Use git, read only access:
git clone git.linphone.org/ortp.git
Documentation
Read there: API documentation.
Authors
oRTP was written by Simon MORLAT (simon dot morlat at linphone dot org).
More information is availlable in the source tree, see the README file.下次会将oRTP和LinPhone以及LinPhone所需的第三方库一个个的介绍,同时介绍如何移植到ARM Linux中来。
英文网址如下:http://www.linphone.org/eng/documentation/dev/ortp.html
源码下载:http://download.savannah.gnu.org/releases/linphone/ortp/sources/
API文档下载:http://download.savannah.gnu.org/releases/linphone/ortp/docs/
-
-
推荐一个开源的DotNet下的SSH库,可以在.NET中执行LINUX上的命令
2006-09-28 14:24:00近日需要写一个小程序,想要在DotNet中调用Linux...后来觉得专门写一个服务器程序实在太麻烦,在sf.net上逛了逛,终于发现了一个开源的DotNet下的SSH库:http://prdownloads.sourceforge.net/granados/granados200.tar.近日需要写一个小程序,想要在DotNet中调用Linux上的一个程序。开始原本是想在Linux上写个TCP服务程序,然后在DotNet中使用Socket进行通信。后来觉得专门写一个服务器程序实在太麻烦,在sf.net上逛了逛,终于发现了一个开源的DotNet下的SSH库:http://prdownloads.sourceforge.net/granados/granados200.tar.gz?use_mirror=easynews
从这里下载源码:http://easynews.dl.sourceforge.net/sourceforge/granados/granados200.tar.gz
郁闷的是,这个库居然没文档,根本不知道怎么使用。还好从源码里面发现一个Test.cs的文件,可以供参考。
我自己封装了一个简单的EasySSH类,可以执行Linux上的命令,并返回结果。从这里下载:https://p-blog.csdn.net/images/p_blog_csdn_net/ah__fu/EasySSH.rar.jpg 下载后把jpg的后缀去掉即可。
EasySSH的使用方法如下:using System;
using Granados;
class Test
{
static void Main(string[] args)
{
EasySSH ssh = new EasySSH(new System.Net.IPEndPoint(
System.Net.IPAddress.Parse("192.168.0.2"), 22),
"root", "password");
while (!ssh.IsReady)
{
System.Threading.Thread.Sleep(100);
}
Console.WriteLine(ssh.SendCommand("ls -l"));
ssh.Close();
Console.WriteLine("==============================");
Console.ReadLine();
}
}
欢迎大家提出意见,谢谢! -
远程监控linux 进程_Monit:开源服务器监控工具
2020-11-26 12:30:27今天小金子,给大家推荐的这个好东西是开源服务器的监控工具。Monit:是一个跨平台的用来监控 Unix/linux 系统(比如 Linux、BSD、OSX、Solaris)的工具。Monit 特别易于安装,而且非常轻量级(只有 500KB 大小),...今天小金子,给大家推荐的这个好东西是开源服务器的监控工具。
Monit:是一个跨平台的用来监控 Unix/linux 系统(比如 Linux、BSD、OSX、Solaris)的工具。Monit 特别易于安装,而且非常轻量级(只有 500KB 大小),并且不依赖任何第三方程序、插件或者库。
Monit 可以监控服务器进程状态、HTTP/TCP 状态码、服务器资源变化、文件系统变动等等,根据这些变化,可以设定邮件报警、重启进程或服务,可以说是一款功能异常强大的进程、文件、设备、系统监控软件。易于安装、轻量级的实现以及强大的功能,让 Monit 成为一个理想的后备监控工具。
Monit 对管理员来说可谓神器。话说 Nagios 也就是在监控牛,而 Monit 不但本地监控牛,远程服务监控也牛。更牛的是,只要你花点功夫,你的服务就永远都能 “死而复生”。
Monit 官网:https://mmonit.com/monit
Monit 手册:https://mmonit.com/monit/documentation/monit.html
如果你在这方面有需要的话,可以关注一下这个开源工具。
最后,照旧安利一波我们的公众号:「程序员掘金」,每天一篇工具,插件,软件分享,专注为程序员挖掘好东西,非常值得大家关注。我们的口号就是:程序员掘金,挖掘好东西。
-
发布一个开源的c++网络事件库 - 知然 - 博客园
2019-10-06 00:42:13发布一个开源的c++网络事件库 - ... 发布一个开源的c++网络事件库 - 知然 - 博客园发布一个开源的c++网络事件库Chaos是一个基于Linux平台, reactor模式的网络事件库,目前仅支持TCP传输协议,仅在x86_64下编译,并遵... -
muduo网络库源码复现笔记(二十二):TcpServer类与TcpConnection初步
2020-07-27 17:05:03muduo网络库的核心代码只有数千行,在网络编程技术学习的进阶阶段,muduo是一个非常值得学习的开源库。目前我也是刚刚开始学习这个网络库的源码,希望将这个学习过程记录下来。这个网络库的源码已经发布在GitHub上,... -
嵌入式Linux系统libevent异步事件库的移植
2020-11-07 22:52:271 什么是libevent 首先大家思考一个问题,你的产品开发过程中,是否使用了多线程?是否加了很多线程锁??如果没有多线程,功能能否实现得了...那有没有一种很好的处理异步事件的开源库而且只要一个线程(主进程本身), -
muduo网络库源码复现笔记(二十三):TcpConnection断开连接
2020-07-28 17:07:01muduo网络库的核心代码只有数千行,在网络编程技术学习的进阶阶段,muduo是一个非常值得学习的开源库。目前我也是刚刚开始学习这个网络库的源码,希望将这个学习过程记录下来。这个网络库的源码已经发布在GitHub上,... -
发布一个开源的c++网络事件库【转载Zark@cppthinker.com】
2012-07-04 14:25:00Chaos是一个基于Linux平台, reactor模式的网络事件库,目前仅支持TCP传输协议,仅在x86_64下编译,并遵循3-clause BSD开源协议.在使用上,可以说它很像boost asio,可能是由于我对boost asio的接口设计很有爱吧,而且对于... -
Monit:开源服务器监控工具
2019-04-04 17:59:15Monit是一个跨平台的用来监控Unix/linux系统(比如Linux、BSD、OSX、Solaris)的工具。Monit特别易于安装,而且非常轻量级(只有500KB大小),并且不依赖任何第三方程序、插件或者库。 Monit可以监控服务器进程状态... -
java开源包1
2013-06-28 09:14:34BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加... -
java开源包12
2013-06-28 10:14:45BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加... -
c++并发服务器Linux
2019-12-14 15:25:02并发服务器要求高并发,在linux环境下可用epoll多路IO服用机制,程序内部使用线程池,若需使用队列或者hash表等容器,可使用intel的tbb开源c++计算库 epoll多路复用机制较select与poll相比,没有并发连接... -
java开源包101
2016-07-13 10:11:08BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加... -
java开源包11
2013-06-28 10:10:38BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加... -
java开源包6
2013-06-28 09:48:32BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加... -
java开源包10
2013-06-28 10:06:40BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加... -
java开源包8
2013-06-28 09:55:26BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加... -
java开源包9
2013-06-28 09:58:55BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加... -
java开源包7
2013-06-28 09:52:16BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加... -
Linux:Libevent简单使用
2020-08-01 16:47:03Libevent: 是开源社区的一款高性能的I/O框架库。 其学习和使用者众多,例如:高性能的分布式内存对象缓存软件memcached,Google浏览器Chromium的Linux版本。 Libevent使用特点: 1.跨平台支持: Libevent支持Linux,... -
linux高性能服务器编程书本总结
2019-03-02 14:58:41目录 目录分析 第一篇从 1-4章节主要是介绍 计算机网络基础知识和 TCP/IP模型 第二篇 核心篇 5 章到 15 章节 5-6章节 主要介绍 套接字编程API的使用和介绍 ...12章 libevent 开源库 13-14 ...