现在位置: 首页 > 开源
2019-08-30 17:03 工业·编程 ⁄ 共 3213字 暂无评论
WebSocket 是 HTML5 的一个引入注目的特性,它通常用于 Web 端,为构建实时的 Web 应用提供方便。WebSocket 是一个基于 TCP 的协议,它借助于 HTTP 请求,建立客户端与服务器端之间的双向通道,通道建立完成后,客户端和服务器端都可以通过这条通道方便地收发消息,因而 WebSocket 一向有着 “Web 的 TCP” 之称。 WebSocket 不是 JavaScript 的一个接口,而是一个定义良好的基于消息的协议。得益于不同平台对于 WebSocket 协议的...
阅读全文
2019-08-29 15:53 工业·编程 ⁄ 共 6076字 暂无评论
本文对几种开源的流媒体服务器做对比。 1 概念 1.1 RTP 实时传输协议(Real-time Transport Protocol或简写RTP)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的。 RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。它一开始被设计为一个多播协议,但后来被用在很多单播应用中。RTP协议常用于流媒体系统(配合RTSP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),...
阅读全文
2019-08-21 12:06 工业·编程 ⁄ 共 209字 暂无评论
流媒体解决方案 Live555 (C++) 流媒体平台框架 EasyDarwin (C++,国产精品) 实时流媒体播放服务器程序DarwinStreamingSrvr (C++) Flash流媒体服务器 Red5 (Java) 流媒体服务器 Open Streaming Server (Java) FMS流媒体服务器 (Adobe,收费的) Wowza流媒体服务器(Java) 开源流媒体平台FreeCast(Java) 最后补充一个 Ngix+RTMP插件
阅读全文
2019-08-12 07:50 工业·编程 ⁄ 共 479字 暂无评论
针对GitHub上的几个几个C++ Restful库做了一个系统的对比: Restful库 98%请求中的最大时间(越小越好) 每秒平均处理的请求数(越大越好) Sample代码的行数 C++ : cpprestsdk / default JSON implementation 51 30.70 48 C++ : cpprestsdk / RapidJSON 44 47.06 47 C++ : restbed 7 224.18 39 C++ : pistache 6 319.99 40 PHP : Native implementation 10 146.95 14 表格中第二列和第三列是性能指标,第四...
阅读全文
2019-08-03 07:44 工业·编程 ⁄ 共 11523字 暂无评论
2. Poco日志的实现 2.1 日志模块应该实现的业务 在讨论日志的实现之前,先来聊一下日志模块应该实现那些业务。日志的业务说简单可以很简单,就是输出记录。说复杂也复杂,来看它的复杂性: 首先,日志的输出对象是不同的,有控制台输出,本地文件输出,网络文件输出,输出到系统日志等。假如是网络日志,日志库中其实还会包含网络模块,真是越来越复杂了。 第二,日志输出的格式和内容。不同用户关心的内容和喜欢的输出格式是不...
阅读全文
2019-08-01 07:41 工业·编程 ⁄ 共 11958字 暂无评论
日志对于程序来说是非常重要的,特别是对一些大型程序而言。一旦程序被发布,在现场日志几乎是程序员唯一可以获取程序信息的手段。Poco作为一个框架类库,提供了非常多的日志种类供程序员选用。文章将分两个部分,对于Poco日志进行介绍。第一部分主要以翻译Poco文档为主,第二部分则探讨Poco日志的实现。 1. Poco库日志接口 1.1  总体介绍          Poco中的日志模块主要涉及下列...
阅读全文
本节主要介绍Thread类和ThreadLocal机制的使用方法以及实现原理,以及对ThreadPool线程池支持的简单了解 Thread类使用方法 在C++语言中,我们通过_beginThreadex或CreateThread来创建线程(最好使用前者,关于两者区别和线程基础知识可参见《Windows核心编程》),并且提供一个原型为void MyFunc(void pParam)入口函数来完成任务。在Poco中,将入口函数抽象为一个类Runnable,该类提供void run()接口,用户需要继承至该类来实现自...
阅读全文
Foundation中的SharedLibrary实现跨平台的dll动态加载。具体使用方法和简介可见:ShareLibrary官方文档 SharedLibrary导出函数 SharedLibrary类的简单用法 通过SharedLibrary可以实现函数导出和类导出,函数导出是最简单的,Dll提供方除了函数需要使用extern "C"声明之外,和普通C++编写的dll并无区别,在官方文档的例子中,dll使用方代码也很简单: // LibraryLoaderTest.cpp #include "Poco/SharedLibrary.h&q...
阅读全文
2019-06-06 17:41 工业·编程 ⁄ 共 12589字 暂无评论
Overview main() –> startup() –> accept_request() –> execute_cgi() Main senario: Establish a web server step 建立连接– accept connection from client Accept request – 读取一条HTTP报文 Handle request – 解释报文,采取行动 访问资源 – 访问报文中指定的资源 构建报文 – 创建带有正确HTTP首部的报文 发送响应 – give the response to client 记录事务处理过程 – record the step into log <– No such i...
阅读全文
2019-05-30 21:58 工业·编程 ⁄ 共 1343字 暂无评论
一:LinPhone是什么 LinPhone是一个网络电话或者IP语音电话(VOIP),是一款遵循GPL的开源的网络视频电话系统,其主要如下: 使用linphone,我们可以在互联网上随意的通信,通过语音、视频、即时文本消息。 linphone使用SIP协议,是一个标准的开源网络电话系统,你能将linphone与任何基于SIP的VoIP运营商连接起来,包括我们自己开发的免费的基于SIP的Audio/Video服务器。 LinPhone是一款自由软件(或者开源软件),你可以随意的...
阅读全文