现在位置: 首页

libwebsockets(二)实现简易http服务器

2019-09-03 17:48 工业·编程  ⁄ 共 4868字 暂无评论
根据官方的说明来看,从2.0版本起,http协议的服务器已经自动集成在库中,不需要我们自己去实现。下面介绍如何使用库去实现http服务器。 1、填充服务器创建需要的参数 lws_context_creation_info是创建服务器句柄时用来定制服务器信息的结构体,所以我们首先需要填充该结构体。该结构体的定义如下。 /*这里只列出我们常用的成员,注释很详细,不做过多解释*/ struct lws_context_creation_info {     int port; ...
阅读全文

libwebsockets(一)简介

2019-09-02 17:45 工业·编程  ⁄ 共 936字 暂无评论
libwebsockets是一款轻量级用来开发服务器和客户端的C库。按照官方(https://libwebsockets.org/)给出的介绍来看,它不仅支持ws,wss还同时支持http与https,可以轻轻松松结合openssl等库来实现ssl加密。OK,本文将介绍如何下载使用功能这么强大的库。 下载 git clone https://github.com/warmcat/libwebsockets.git 编译 为了可以进行多平台编译,websockets项目采用CMake作为编译工具,所以如果机器上没有CMake需要去安装CMa...
阅读全文

Libuv库介绍

2019-09-01 17:13 工业·编程  ⁄ 共 3511字 暂无评论
Libevent、libev、libuv三个网络库,都是c语言实现的异步事件库 libevent :名气最大,应用最广泛,历史悠久的跨平台事件库; libev :较libevent而言,设计更简练,性能更好,但对Windows支持不够好; libuv :开发node的过程中需要一个跨平台的事件库,他们首选了libev,但又要支持Windows,故重新封装了一套,linux下用libev实现,Windows下用IOCP实现; Libuv 基础 libuv 采用了异步 (asynchronous), 事件驱动 (event-driven)...
阅读全文

开源软件GDB的框架概述

2019-08-31 12:55 工业·编程  ⁄ 共 13965字 暂无评论
GDB, 即GNU调试器(GNU Debugger)。它诞生自开源软件基金会(Free Software Foundation)成立之初的第一批程序,并一直是免费和开源软件系统中的主要成员。最初GDB只是Unix系统上一个简单的源码层次的调试器,代码量不过数千行C代码,后来逐步发展壮大,拓展到包括嵌入式系统在内多个平台,代码量也达到了上百万行。 GDB在发展,不断地满足着新的用户需求并增加新的功能。这一章将我们将介绍GDB的整体内部结构,探讨一下GDB是如何...
阅读全文

C++ WebSocket 开源库

2019-08-30 17:03 工业·编程  ⁄ 共 3213字 暂无评论
WebSocket 是 HTML5 的一个引入注目的特性,它通常用于 Web 端,为构建实时的 Web 应用提供方便。WebSocket 是一个基于 TCP 的协议,它借助于 HTTP 请求,建立客户端与服务器端之间的双向通道,通道建立完成后,客户端和服务器端都可以通过这条通道方便地收发消息,因而 WebSocket 一向有着 “Web 的 TCP” 之称。 WebSocket 不是 JavaScript 的一个接口,而是一个定义良好的基于消息的协议。得益于不同平台对于 WebSocket 协议的...
阅读全文

【每日一字】瓷:一片瓷上看中国

2019-08-29 16:06 生活·感悟  ⁄ 共 1650字 暂无评论
瓷这个字,很宏大,在英语里,这个字也代表“中国”,作为器物的 china与作为国家的 Chinad相互映照;这个字,也很家常,“一桌两人三餐四季”的日常生活里,我们每天都离不开它;这个字,很贵重,它常常是各大博物馆里的镇馆之宝,在那些举世瞩的拍卖会上被拍出令人年舌的“天价”;这个字,也很亲民,它是老百姓生活里唾手可得的。 瓷是一个形声字,从瓦,从次,次亦声。“瓦”指陶,“次”意为“(工艺的)下阶段”。瓷的本义是指陶的下一阶段...
阅读全文

几种开源的媒体服务器对比

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),...
阅读全文

Live555学习之(七):Live555实现h264视频的点播

2019-08-28 15:48 工业·编程  ⁄ 共 7246字 暂无评论
上一篇介绍了Live555如何实现录像功能,我录的是H264编码的视频文件。在《Live555的基本介绍》这一篇中,我介绍说把mp3文件放到live/mediaServer目录下,然后使用Live555流化,就可以通过vlc去点播该文件。那么我们录好的h264文件能否被Live555流化然后使用VLC点播呢?经试验,发现是不行的。 然后我就对比VLC去请求Live555流化mp3文件和h264文件的过程,发现了原因:在请求h264文件时返回的SDP信息中,总出现"a=range:n...
阅读全文

Live555学习之(六):在Live555中实现录像

2019-08-27 14:29 工业·编程  ⁄ 共 21426字 暂无评论
Live555还提供了录像的示例程序,在testProgs目录下的playCommon.cpp中,Live555录像的基本原理就是创建一个RTSPClient去请求指定rtsp地址的视频,然后保存到文件里。 playCommon.cpp打开一看就发现首先是各种全局函数的声明,然后是各种全局变量的声明,然后是main函数和各个函数的实现。main函数中首先还是创建TaskScheduler对象和UsageEnvironment对象,然后根据各种输入参数设置各种全局变量,最后就是创建一个RTSPClient对...
阅读全文

中央财经委员会第五次会议

2019-08-26 22:21 战略·谋略  ⁄ 共 1388字 暂无评论
中共中央总书记、国家主席、中央军委主席、中央财经委员会主任习近平8月26日下午主持召开中央财经委员会第五次会议,研究推动形成优势互补高质量发展的区域经济布局问题、提升产业基础能力和产业链水平问题。习近平在会上发表重要讲话强调,要根据各地区的条件,走合理分工、优化发展的路子,落实主体功能区战略,完善空间治理,形成优势互补、高质量发展的区域经济布局。要充分发挥集中力量办大事的制度优势和超大规模的市场...
阅读全文