- 博客(22)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 uWebsockers实践
#---------------------------------------------需要的了解一下--------------------------------------------------------------阿里云产品推广最高¥2000云产品通用代金券通过链接购买产品即可获得最高2000元的通用产品代金券。不管你是学生、希望一个简单云主机试水你是站长、博主需要购...
2019-08-28 15:45:44 1004 1
原创 UNIX环境高级编程-读书笔记-epoll
epoll 说明:epoll是linux内核为了处理大批量的文件描述符而做了改进的poll,是linux系 多路复用IO接口的selet/poll的增强版本,能够显著的提高程序在大量的并发链接中 只有少量活跃的情况下系统的CPU利用率。特点: 1.支持一个进程打开最大数量的socket 的描述符 1G内存的机器一般可以最多10 万左右的描述符 2.IO效率不会随着fd数目的增减线性的下
2017-06-27 09:30:51 720
原创 UNIX环境高级编程-读书笔记-网络编程(四)
网络通信 总结:1.不管是UDP还是TCP通信,基本的过程都是,首先建立链接,然后发送消息,然后对方接受消息。 2.网络通信的模式,的书写方法都是固定的,不管是UDP还是TCP。写法固定。 3.网络通信的比较重要的部分是通信报文的设计,下面详解:网络通信报文的书写1.报文的两种的组织形式。 1.使用结构体的方法: 定义好各种类型的消息结构体,然后在发送消息的时候,对结构体对象的里面的成员进行
2017-06-27 09:30:26 441
原创 UNIX环境高级编程-读书笔记-网络编程(三)
UDP 通信过程采用的是c/s的软件架构 客户端 1.socket —-> 2.sendto ——>3.close详解: 1.socket:创建通信套接字 函数: int socket();2.sento :向网络中发送消息 函数:ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const stru
2017-06-27 09:30:01 403
原创 UNIX环境高级编程-读书笔记-网络编程(二)
TCP 和UDP 网络通信的实现1.三种网络地址类型 struct sockaddr_in ipv4的网络地址 struct sockaddr_in6 ipv6的网络地址 struct sockaddr 通用的网络地址2.TCP 和 UDP tcp : 传输控制协议 transport control protocol 特点:面向字节流 面向链接 可靠的 通信协议 udp: 用户数
2017-06-27 09:29:37 319
原创 UNIX环境高级编程-读书笔记-网络编程(一)
一.两种网络模型ISO/OSI 网络拓扑模型 7层应用层 表示层 会话层 传输层 网络层 数据链路层 物理层TCP/TP 网络模型 4层 应用层 用户态 —————————————————————————— 传输层 内核态 网络层 链路层我们编写程序 ,就是在传输层编写 与传输层有关的协议: UDP 用户数据报协议 TCP 传输控制协议二.字节序(和硬件有关)
2017-06-27 09:29:10 616
原创 UNIX环境高级编程-读书笔记-进程
进程1.进程就是CPU处理事务的一个过程 2.一个进程独占一段内存空间,独占CPU进程的开始: 1.对于一个C程序,从main 函数开始,或者是从fork()函数开始 进程的创建: 1.对于整个的OS,init 进程是自举 其他进程都由其父进程创建 说明:init进程是在系统开始的时候自己创建出来的进程 也是第一个进程 其进程ID是 1. 进程的结束: 1.正常结束:从main函数
2017-06-27 09:28:38 378
原创 UNIX环境高级编程-读书笔记-系统文件信息
1.用户信息文件 用户信息文件是在/etc/passwd struct passwd { char pw_name; / username */ char pw_passwd; / user password */ uid_t pw_uid; /* user ID */ gid_t pw_gid; /* group ID */ char pw_gecos; / real name */
2017-06-27 09:27:57 405
原创 UNIX环境高级编程-读书笔记-文件操作(二)
linux系统 下的文件的操作1.在linux下面,我们使用文件描述符来唯一的标识一个文件 注意:在一个进程中,他是唯一的标识已经打开的文件 是一个非负的整数 分配的规则是最小的且未被占用的2.在一个进程中默认打开的三个文件是 stdin stdout stderr 他们三个的文件描述符分别是 0 1 2 3.打开文件 int open(const char *pathnam
2017-06-27 09:27:06 341
原创 UNIX环境高级编程-读书笔记-文件操作(一)
1.缓冲 FILE * 类型的函数或者以此为返回值的都是有缓冲区的 1.全缓冲 2.行缓冲 例如:标准输出【stdout】 3.无缓冲 例如:标准出错【stderr】说明:c语言的关于文件操作的函数,其实都是使用了unix 内核的函数,而这些内核的函数全都是没有缓冲区的,但是,c语言在调用这些内核函数生成库函数的时候都加了缓冲区2.一般的系统,在进程启动是,默认打开三个文件, stdin
2017-06-27 09:26:11 364
原创 高效C++读书笔记【一】
前言:1、拷贝构造函数和赋值拷贝赋值运算符拷贝构造函数和赋值拷贝运算符之前的区别:拷贝构造是使用已经存在的对象初始化一个新的对象拷贝赋值就是使用同型的对象中拷贝其值到本对象2、使用const/inline/enum 替代#define1、由于#define是在编译阶段把程序中所有的相关的名字直接的替换成响应的数据,导致在当程序出现问题时出现魔数2、常量指针的定义需要注意的格式问题,原则就是去掉类型
2017-06-27 09:24:53 356
原创 对象模型
对象 1、使用类进行封装的成本相对于C语言来说,C++的类的封装对普通的数据成员和非内联函数并没有增加什么成本,非内联函数虽然都是在类的内部声明,但是其实现却是在类外并且只有一个实体内联函数只会在类的使用者(类对象)产生实际的实体C++真正会增加成本的是对于虚函数和虚基类的实现上。简单对象模型 简单对象模型的概念就是对象的所有的数据成员和成员函数都不是直接的存储在对象的内部,为所有的对象的
2017-06-27 09:24:20 1558
原创 EssentialC++ 读书笔记
基础 1、对象的定义就是为对象命名并且说明他的类型2、对象的初始化就是在定义的时候顺便给一个初始的值。对象的初始化可以是直接使用赋值等号(=),或者是直接使用构造函数 int a(3);3、const 类型的对象必须在定义的时候进行初始化因为其他任何时间你都无法再次的修改他的值。4、模运算的经常运用的地方就是当我们希望限制一个范围不超过多少的时候,就可以使用5、条件表达式 a = (resul
2017-06-27 09:23:25 430
原创 opensips-cp搭建过程
在使用opensips的过程中,使用opensips-cp 来对系统进行配置下面记录opensips-cp 的配置过程 【1】安装apach服务器apt-get install apache2 php5 php5-cli php5-mysql php5-xmlrpc php-pear php-mdb2-driver-mysql php-log 使用命令:/etc/init.d/apache2 r
2017-06-27 09:21:56 2416
原创 SerMyAdmin搭建过程
SerMyAdmin是一个专供opensips交换系统使用的web,提供对opensips的功能的配置下面记录SerMyAdmin的配置安装过程系统版本:【1】下载源码URL:: http://sourceforge.net/projects/sermyadmin/sermyadmin自从2010年就已经开始停产了,但是好像还是可以使用的对于最后的版本下载源码后随便解压在方便的位置【2】安装依赖op
2017-06-27 09:21:11 634
原创 opensips 搭建SIP服务器--mysql
【1】使用mysql 数据库需要注意的是,如果需要使用mysql 数据库,在编译和安装的时候需要使用如下的方式:make include_modules=”db_mysql” modulesmake include_modules=”db_mysql” install【2】修改opensips.cfg文件添加导入mysql的模块loadmodule “db_mysql.so”loadmodule “
2017-06-27 09:20:23 3969
原创 OPENSIPS安装配置过程记录
【1】源码下载源码的下载方式有两种,分别是从SVN获取,或者是使用get获取SVN:svn co https://svn.code.sf.net/p/opensips/svn/trunkGET: git clone https://github.com/OpenSIPS/opensips.get opensips_trunk【2】依赖库安装:yum install gcc make yum
2017-06-27 09:19:16 1692
原创 Restful API实践经验
#---------------------------------------------需要的了解一下--------------------------------------------------------------阿里云产品推广最高¥2000云产品通用代金券通过链接购买产品即可获得最高2000元的通用产品代金券。不管你是学生、希望一个简单云主机试水你是站长、博主需要购...
2017-06-08 11:33:52 1031 1
转载 linux c 获取本地IP,MAC 子网掩码等信息
#---------------------------------------------需要的了解一下--------------------------------------------------------------阿里云产品推广最高¥2000云产品通用代金券通过链接购买产品即可获得最高2000元的通用产品代金券。不管你是学生、希望一个简单云主机试水你是站长、博主需要购...
2014-09-24 09:46:19 7746 1
转载 C语言的可变参数的实现的原理
C函数调用的栈结构 可变参数函数的实现与函数调用的栈结构密切相关,正常情况下C的函数参数入栈规则为__stdcall, 它是从右到左的,即函数中的最右边的参数最先入栈。例如,对于函数: void fun(int a, int b, int c) { int d; ... }其栈结构为 0x1ffc-->d 0x200
2014-09-24 09:40:43 472
原创 线程池
#---------------------------------------------需要的了解一下--------------------------------------------------------------阿里云产品推广最高¥2000云产品通用代金券通过链接购买产品即可获得最高2000元的通用产品代金券。不管你是学生、希望一个简单云主机试水你是站长、博主需要购...
2014-09-23 15:11:48 466
go语言包。。。。。。。。。。。。。。
2017-05-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人