摘要: 注: 从c++11开始, auto_ptr已经被标记为弃用, 常见的替代品为shared_ptr shared_ptr的不同之处在于引用计数, 在复制(或赋值)时不会像auto_ptr那样直接转移所有权 auto_ptr auto_ptr实际也是一种类, 拥有自己的析构函数, 生命周期结束时能自动释 阅读全文
posted @ 2017-04-26 15:53 cfans1993 阅读(1823) 评论(0) 推荐(0) 编辑
摘要: SIGIO信号 信号驱动式I/O不适用于TCP套接字, 因为产生的信号过于频繁且不能准确判断信号产生的原因. 设置信号驱动需把sockfd的非阻塞与信号驱动属性都打开 server sockfd单独提出来作为全局变量, 便于sig_io处理函数访问 num变量用于设置当前可读数据报数量 struct 阅读全文
posted @ 2017-03-22 10:00 cfans1993 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 简单说明 TCP带外数据也称为紧急模式, 常用于中断某些操作, 如中断ftp文件的传输. 调用系统函数时我们需要处理一些信号操作, 而TCP带外数据可理解为由本地向对端发送一个signal, 让对端能采取相应的处理措施. 接收到带外数据时, 系统会产生SIGURG信号. TCP带外数据就是一个普通的 阅读全文
posted @ 2017-03-22 09:59 cfans1993 阅读(568) 评论(0) 推荐(0) 编辑
摘要: 测试准备 UDP广播常用于局域网内, 一次性给局域网内的所有主机发送消息 如果只有一台电脑, 可以在手机里安装一个UDP接收端app 注: 如果linux与windows机子互相ping不通, 可能是杀毒软件的原因 实例 与普通UDP client相比, 有两个不同: 1.目标地址为xxx.xxx. 阅读全文
posted @ 2017-03-22 09:58 cfans1993 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 使用方法 首先要生成一个可用的套接字描述符,TCP或UDP的都可以,为方便一般使用UDP套接字描述符 然后调用ioctl函数获取所有网络接口列表(struct ifconf), 网卡越多列表数目越多 再次调用ioctl函数从一个个网络接口中获取子项(struct ifreq)进行输出 每获取一个子项 阅读全文
posted @ 2017-03-22 09:57 cfans1993 阅读(1906) 评论(0) 推荐(0) 编辑
摘要: 初始化 第一种情况:初始化数据小于数组长度 如前面两个初始化的例子,这两个例子的效果一样,前五个字符为Hello,剩余的用'\0'填充 第三行与第四行,都只指定了第一个字符,剩余的全部用'\0'填充。第四个例子相当将整个数组初始化为'\0' 第二种情况:初始化数据等于或超过数据长度 这种情况下,超出 阅读全文
posted @ 2017-02-16 00:30 cfans1993 阅读(45757) 评论(0) 推荐(4) 编辑
摘要: 动态库 创建动态库: shared 指明生成动态库 编译: L. 表示需要的动态库从当前目录寻找 运行: 运行前需要把libhello.so复制到$PATH中,这里有两种选择 a.把库文件复制到查找路径中 cp libhello.so /usr/lib/ b.把当前路径添加到查找路径中 export 阅读全文
posted @ 2017-02-16 00:30 cfans1993 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 时间有关的数据类型 time_t: long类型, 记录从1970年1月1日0时0分0秒到现在经过的秒数,在32位的long类型平台上2038年时间溢出 struct tm: 符合人类习惯的记录方式 相关函数的重要区别 ctime(time_t \ p):与asctime(localtime(tim 阅读全文
posted @ 2017-02-16 00:29 cfans1993 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 关于结束符 str_开关的函数在遇到'\0'会结束运行,而mem_开关的函数会一直运行到指定的数量 strcpy函数在复制完后在结尾会加上一个\0 strncpy函数在复制时, 如果实际可复制字符少于指定的字符数, 则在结尾一直添加\0直到达到指定值; 如果实际可复制字符超过指定值,则只复制到指定值 阅读全文
posted @ 2017-02-16 00:28 cfans1993 阅读(134) 评论(0) 推荐(0) 编辑
摘要: rand 生成随机数需要一个初始值, rand函数的初始值是固定的,所以每次生成的随机数序列都是一样的 srand函数的作用是修改初始值,让rand函数生成的随机数序列每次都不一样,一般将当前时间传入srand生成初始值 c include include include int main(int 阅读全文
posted @ 2017-02-16 00:27 cfans1993 阅读(107) 评论(0) 推荐(0) 编辑