![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
zyd登
这个作者很懒,什么都没留下…
展开
-
pcap编程深入解析
首先,该文章不限定OS不单针对Winpcap或者libpcap,对于Winpcap的特殊扩展使用了PS标示。 我以前使用过Winpcap,但并没有对pcap开发进行过深入解析。希望这篇文章可以深入浅出的讲清楚这个问题。Pcap是什么?它是个监视器,或者发生器,它可以监视,也可以发生,但它不能拦截。它可以在网络上增加一些消息,但不能阻止已经存在的消息。 获取设备列表转载 2018-03-07 18:06:31 · 3697 阅读 · 0 评论 -
boost::asio编程-同步TCP
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/anda0109/article/details/41978775boost.asio库是一个跨平台的网络及底层IO的C++编程库,它使用现代C++手法实现了统一的异步调用模型。 boost.asio库支持TCP、UDP、ICMP通信协议。 下面介绍同步TCP模式:大家好!我是同步方式!我的主要特点转载 2018-04-04 10:43:30 · 264 阅读 · 0 评论 -
boost::thread编程-线程本地存储
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/anda0109/article/details/41960615有时候函数使用了局部静态变量或全局静态变量,因此不能用于多线程环境,因此无法保证静态变量在多线程重入时的正确操作。 boost::thread库使用thread_specific_ptr实现了可移植的线程本地存储机制(thread lo转载 2018-04-04 11:12:40 · 409 阅读 · 0 评论 -
boost::thread编程-线程组
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/anda0109/article/details/41944927thread库提供thread_group类用于管理一组线程,就像一个线程池,它内部使用std::listclass thread_group::private noncopyable { public: templa转载 2018-04-04 11:14:39 · 485 阅读 · 0 评论 -
boost::asio编程-同步UDP
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/anda0109/article/details/41981799同步UDP比较简单,直接看例子:#include "stdafx.h" #include "boost/asio.hpp" #include "boost/shared_ptr.hpp" #include "boost/thr转载 2018-04-04 11:18:10 · 741 阅读 · 0 评论 -
boost------asio库的使用2(Boost程序库完全开发指南)读书笔记
网络通信 asio库支持TCP、UDP、ICMP通信协议,它在名字空间boost::asio::ip里提供了大量的网络通信方面的函数和类,很好地封装了原始的Berkeley Socket Api,展现给asio用户一个方便易用且健壮的网络通信库。ip::tcp类是asio网络通信(TCP)部分主要的类,但它本身并没有太多的功能,而是定义了数个用于TCP通信的typedef类型,用来协作完成网络通信转载 2018-04-04 14:16:34 · 263 阅读 · 0 评论 -
大端模式与小端模式
大端模式与小端模式 一、概念及详解 在各种体系的计算机中通常采用的字节存储机制主要有两种: big-endian和little-endian,即大端模式和小端模式。 先回顾两个关键词,MSB和LSB: MSB:Most Significant Bit ——- 最高有效位 LSB:Least Significant Bit ——- 最低有效位 大端模式(big-edian)转载 2018-03-29 09:46:10 · 252 阅读 · 0 评论 -
sys/capability.h :没有那个文件或目录
安装开发库 开发库libcap-devel原创 2018-04-23 09:44:14 · 8522 阅读 · 2 评论 -
centos /dev/mapper/cl-root 100% 解决方法
find / -type f -size +1024000k -exec du -h {} \;查看大文件,然后暴力删除原创 2018-05-30 11:09:03 · 6967 阅读 · 0 评论 -
C++中istream的使用
在项目中会经常用到读取一些配置数据,这些数据根据实际需要有可能会调整,如果将这些数据直接嵌入进代码中会非常不便,需要经常调整代码。将这些数据写入配置文件中然后在读入,如果需要调整,只需修改配置文件,code不用作任何改动,这样会非常方便。最常用到的读取配置文件的方式是使用istream类。std::istream: input stream. Input stream objects can re...转载 2018-07-09 15:56:27 · 10143 阅读 · 0 评论 -
C++数学、信号处理相关库
C++数学、信号处理相关库C++数学、信号处理相关库1.Eigen2.Armadillo3.GNU Scientific Library (GSL)4.IT++5.Template Signal Processing Library6.FFTW7.FLINT8.C语言开发中支持正则表达式前言:因需要对信号进行处理,收集一些相关库。1.Eigen是一个线性算术的C++模板库,包括:vectors, ...转载 2018-07-09 15:56:55 · 4072 阅读 · 0 评论 -
boost::asio编程-异步TCP
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/anda0109/article/details/41979627大家好,我是异步方式和同步方式不同,我从来不花时间去等那些龟速的IO操作,我只是向系统说一声要做什么,然后就可以做其它事去了。如果系统完成了操作, 系统就会通过我之前给它的回调对象来通知我。在ASIO库中,异步方式的函数或方法名称前面都有转载 2018-04-04 10:35:38 · 358 阅读 · 0 评论 -
boost库asio详解5——resolver与endpoint使用说明
tcp::resolver一般和tcp::resolver::query结合用,通过query这个词顾名思义就知道它是用来查询socket的相应信息,一般而言我们关心socket的东东有address,port而已,通过tcp::resolver很容易实现设置和查询,它通过query把字符串格式的ip如192.168.0.200或主机名http://localhost,端口“8080”等转化成soc转载 2018-03-28 09:42:44 · 7827 阅读 · 0 评论 -
boost::system::error_code ec 用法
// setp 1: 创建一个 io_service实例 boost::asio::io_service svc; // step 2: 创建一个 tcp::socket对象,现在还不能用于收发数据 tcp::socket sock(svc); // step 3: 创建一个指向服务器的地址对象,用于 socket.connect()操作 tcp::endpoint addr(add转载 2018-03-08 10:18:34 · 6718 阅读 · 0 评论 -
assert()函数用法总结
http://blog.csdn.net/qq_32175379/article/details/70312657 assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include <assert.h>void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值为假(转载 2018-03-15 10:01:51 · 935 阅读 · 0 评论 -
inet_pton()和inet_ntop()函数详解
http://blog.csdn.net/zyy617532750/article/details/58595700 1.把ip地址转化为用于网络传输的二进制数值 int inet_aton(const char *cp, struct in_addr *inp);inet_aton() 转换网络主机地址ip(如192.168.1.10)为二进制数值,并存储在struct in_addr结构中,即转载 2018-03-15 10:28:23 · 2906 阅读 · 0 评论 -
getifaddrs()和struct ifaddrs的使用,获取本机IP
http://canlynet.iteye.com/blog/1440054ifaddrs结构体定义如下: struct ifaddrs { struct ifaddrs ifa_next; / Next item in list */ char ifa_name; / Name of interface */ unsigned转载 2018-03-15 10:40:01 · 301 阅读 · 0 评论 -
[进程]capget()/capset() -- 获得/设置进程的权能
#undef _POSIX_SOURCE#include <sys/capability.h>int capget(cap_user_header_t hdrp, cap_user_data_t datap);int capset(cap_user_header_t hdrp, const cap_user_data_t datap);说明: capget() 用来获得进程的权能;capse转载 2018-03-16 16:10:06 · 5836 阅读 · 0 评论 -
利用libpcap抓取数据包
概述 libpcap是一个网络数据包捕获函数库,tcpdump就是以libpcap为基础的。 主要作用: 捕获各种数据包,例如:网络流量统计 过滤网络数据包,例如:过滤掉本地上的一些数据,类似防火墙 分析网络数据包,例如:分析网络协议,数据的采集 存储网络数据包,例如:保存捕获的数据以为将来进行分析libpcap的抓包框架 pcap_lookupdev():函数用来查找网络设备,返回可转载 2018-03-16 16:22:26 · 916 阅读 · 0 评论 -
socket编程为什么需要htons(), ntohl(), ntohs(),htons() 函数
在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题。这是就可能用到htons(), ntohl(), ntohs(),htons()这4个函数。网络字节顺序与本地字节顺序之间的转换函数: htonl()--"Host to Network Long" ntohl()--"Network to Host Long" htons()--"Host to Netw转载 2018-03-13 09:49:29 · 310 阅读 · 0 评论 -
boost::program_options 用法详解
一 program options是一系列pair//linux系统下,编译选项需加上 -lboost_program_options#include <iostream>#include <string>#include <boost/program_options.hpp>namespace bpo = boost::program_options;int main(int argc,转载 2018-03-20 10:16:33 · 2723 阅读 · 0 评论 -
大端字节序和小端字节序
对表示一个对象的字节序列排序,有两个通用的规则。有些机器选择在存储器中按照从最低有效字节到最高有效字节的顺序存储对象,而另一些机器按照从最高有效字节到最低有效字节的顺序存储。前一种规则——最低有效字节在最前面的 方式称为小端法(little endian)。大多数源自以前的Digital Equipment公司(现在是Compaq公司的一部分)的机器,以及Intel的机器都采用这种规则。后一种规则(转载 2018-03-14 10:30:59 · 312 阅读 · 0 评论 -
stringstream用法总结
http://blog.csdn.net/xw20084898/article/details/21939811 C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件。 istringstream类用于执行C++风格的串流的输入操作。 ostringstream类用于执行C风格的串流的输出操转载 2018-03-14 15:11:36 · 447 阅读 · 0 评论 -
getifaddrs()和struct ifaddrs的使用,获取本机IP
ifaddrs结构体定义如下:struct ifaddrs { struct ifaddrs *ifa_next; /* Next item in list */ char *ifa_name; /* Name of interface */ unsigned int ifa_flags; /* Flag转载 2018-03-21 13:54:11 · 730 阅读 · 0 评论 -
编译报错“/usr/bin/ld: 找不到 -lm /usr/bin/ld: 找不到 -lpthread /usr/bin/ld: 找不到 -lxxx ”的解决办法
编译报错...gcc -pthread -g -O2 -static -o ndpiReader ndpiReader.o ndpi_util.o ../src/lib/libndpi.a -lpcap -lm /usr/bin/ld: 找不到 -lm/usr/bin/ld: 找不到 -lpthread/usr/bin/ld: 找不到 -lc解决办法:yum ...原创 2018-12-04 10:54:20 · 5216 阅读 · 2 评论