2019-07-04 07:41
⁄ 工业·编程
⁄ 共 3204字
内存映射,简而言之就是将用户空间的一段内存区域映射到内核空间,映射成功后,用户对这段内存区域的修改可以直接反映到内核空间,同样,内核空间对这段区域的修改也直接反映用户空间。那么对于内核空间<---->用户空间两者之间需要大量数据传输等操作的话效率是非常高的。
以下是一个把普遍文件映射到用户空间的内存区域的示意图。
基本函数
mmap函数是unix/linux下的系统调用,详细内容可参考《Unix Netword pro...
mmap, 内存管理阅读全文
2019-07-03 07:30
⁄ 工业·编程
⁄ 共 2888字
1、PPP:(PPP:Point to Point Protocol)
点对点协议(PPP)为基于点对点连接的多协议自寻址数据包的传输提供了一个标准方法。PPP 最初设计是为两个对等结构之间的 IP 流量的传输提供一种封装协议。在 TCP-IP 协议集中它是一种关于同步调制连接的数据链路层协议(OSI 模式中的第二层),替代了原非标准第二层协议,即 SLIP。除了 IP 以外 PPP 还可以传送其它协议,包括 DECnet 和 Novell 的 Internet 网包...
IPSec, L2TP, ppp, PPPoE, PPTP, 区别阅读全文
2019-07-02 06:41
⁄ 工业·编程
⁄ 共 4386字
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
实现机制:
⑴定义一个回调函数;
⑵提供函数实现的一方在初始化的时候,将回调函数的函数指针注册给调用者;
⑶当特定的事件或条件发生的时候...
回调函数阅读全文
2019-07-01 06:28
⁄ 工业·编程
⁄ 共 5116字
网络是用物理链路将各个孤立的工作站或主机相连在一起,组成数据链路,从而达到资源共享和通信的目的。
通信是人与人之间通过某种媒体进行的信息交流与传递。网络通信是通过网络将各个孤立的设备进行连接,通过信息交换实现人与人,人与计算机,计算机与计算机之间的通信。
网络通信中最重要的就是网络通信协议。当今网络协议有很多,局域网中最常用的有三个网络协议:MICROSOFT的NETBEUI、NOVELL的IPX/SPX和TCP/IP协议。应根据...
网络编程阅读全文
2019-06-30 11:28
⁄ 工业·编程
⁄ 共 2672字
对于诸多业界开发者而言,对实时通信其实也并不陌生,毕竟从腾讯 QQ 音视频,到风靡国内的狼人杀、大吉大利的吃鸡游戏、线上抓娃娃、直播答题、线上 KTV,再到如今的微信小程序音视频等,其背后都离不开实时音视频的解决方案,更离不开 WebRTC 技术的支持。
对此,我们不禁产生疑问,WebRTC 究竟有何技术优势可以征服各种应用程序?当前 WebRTC 的发展又处于一个什么样的阶段?它是否有可能在未来实现浏览器、移动端的全面覆盖...
WebRTC, 音视频阅读全文
2019-06-29 06:13
⁄ 工业·编程
⁄ 共 5111字
1.ACE:
ACE提供了一组丰富的可重用C++包装外观(WrapperFacade)和框架组件,可跨多种平台完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信号处理、服务初始化、进程间通信、共享内存管理、消息路由、分布式服务动态(重)配置、并发执行和同步等等。ACE简化了使用进程间通信、事件多路分离、显式动态链接和并发的面向对象的网络应用和服务的开发。
ACE架构图如图1-1所示:
ACE的优点主要有:
(1).增...
中间件, 网络编程阅读全文
2019-06-28 19:25
⁄ 工业·编程
⁄ 共 3236字
1.SQL访问数据库非常方便,只需简单的三个函数:
sqlite3_open(char* szDbFileName, sqlite3 ** db)
sqlite3_exec(sqlite3 *db, char* szSqlCMD, callback, 0, char **zErrMsg)
sqlite3_close(sqlite3 *db)
static int callback(void *NotUsed, int argc, char **argv, char **azColName)
2.sqlite3_exec(),执行SQL命令:
int sqlite3_exec(
sqlite3* db, /* An ope...
SQLite3阅读全文
2019-06-27 15:56
⁄ 工业·编程
⁄ 共 23597字
/******************************************************************************
** This file is an amalgamation of many separate C source files from SQLite
** version 3.14.1. By combining all the individual C code files into this
** single large file, the entire code can be compiled as a single translation
** unit. This allows many compilers to do optimizations that would not be
**...
SQLite3阅读全文
2019-06-26 22:08
⁄ 工业·编程
⁄ 共 11472字
1、概述
Lemon是一个LALR(1)文法分析器生成工具,与bison和yacc类似,是一个可以独立于SQLite使用的开源的分析器生成工具。而且它使用与yacc(bison)不同的语法规则,可以减少编程时出现错误的机会。Lemon比yacc和bison更精致、更快,而且是可重入的,也是线程安全的——这对于支持多线程的程序是非常重要的。
Lemon的主要功能就是根据上下文无关文法(CFG),生成支持该文法的分析器。程序的输入文件有两个:
(1) 语法规则文件;
(2...
SQLite3阅读全文
2019-06-25 22:03
⁄ 工业·编程
⁄ 共 15036字
查询处理及优化是关系数据库得以流行的根本原因,也是关系数据库系统最核心的技术之一。SQLite的查询处理模块很精致,而且很容易移植到不支持SQL的存储引擎(Berkeley DB最新的版本已经将其完整的移植过来)。 查询处理一般来说,包括词法分析、语法分析、语义分析、生成执行计划以及执行计划几个部分。SQLite的词法分析器是手工写的(比较简单),语法分析器由Lemon生成,语义分析主要是进行语义方面的一些检查,比如table...
SQLite3阅读全文