- 博客(10)
- 资源 (2)
- 收藏
- 关注
原创 我的vimrc 配置
vimrc 配置 我的vimrc配置: " enable syntax highlighting syntax on " automatically indent lines (default) set noautoindent set tabstop=4 set shiftwidth=4 set expandtab set softtabstop=4 set wrap " select c...
2021-03-13 12:38:02 223
原创 epoll模式简单介绍与使用
前言 epoll作为Linux特有的IO多路复用的模型,是select/poll的改进版,用于监控大量的文件描述符。另一个特点是,epoll全程为event poll,即该接口是基于事件触发的,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的描述符集合就行了。 函数介绍 创建epoll监控树根节点句柄 /*创建一个epoll的句柄。size为epoll所...
2019-10-27 23:12:09 612
原创 基于多线程多客户端连接的TCP模型
前言 前面已经写了一篇简单的TCP模型,用于单线程单客户端链接,这种效率最高,但是适用场景也是最小的。今天再测试一番简单的多线程多客户端连接的TCP模型。== 这种模型目前也不常见,因为已经有很多的IO复用模型了 ==。但是基于对循序渐进的尊重,我依旧对这个模型进行了一次实验。 服务端 主线程中循环调用accept函数接收新的连接,每收到一个连接之后开启一个接收线程接收对端的发送;可以进行注册回...
2019-10-20 10:53:10 294
原创 简单单线程TCP Socket模型
开头 本篇文章为基础的socket编程模型,单线程单连接收发 1 函数解析 socket /* Create a new socket of type TYPE in domain DOMAIN, using protocol PROTOCOL. If PROTOCOL is zero, one is chosen automatically. Returns a file de...
2019-10-12 16:40:43 264
原创 使用winpcap开发网络抓包工具
前言: winpcap(windows packet capture)是windows平台下一个免费,公共的网络访问系统。开发winpcap这个项目的目的在于为win32应用程序提供访问网络底层的能力。它用于windows系统下的直接的网络编程。进行过网络方面学习的都知道,wireshark软件是基于winpcap的,winpcap可直接开发基于网络底层协议的应用程序,例如arp...
2018-08-22 22:43:24 5975 1
原创 I/O多路复用之select:多用户聊天室学习与开发
前言: 开发windows多用户聊天室的前提: 1、了解网络编程的基本步骤 2、了解阻塞非阻塞,同步异步概念 3、了解select模型的原理与使用 实现功能: 1、新用户上线,将提醒所有在线用户; 2、用户下线,提醒在线用户 3、实现群聊,一个用户发送的消息要转发给所有用户 4、跨平台功能,能够同时在windows与linux下运行 select模型 select的功能原理:...
2018-08-15 23:15:13 934
原创 windows动态链接库开发教程1
本章节的内容来自《Windows核心编程》第五版第19章。详情请细看此书 dll基础 dll高级技术 DLL注入与API拦截
2018-08-12 22:13:10 344
转载 ICMP 协议用于ping 网络状态的原理与实现
ICMP协议简介: ICMP协议是TCP/IP 族的一个子协议,属于网络层协议。全称:Internet Control Message Protocol。(网络控制消息协议)。ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。用于检测网络存活状态。 使用: 1、用于主机扫描技术:ICMP Echo扫描技术 实现原理:ICMP的ping机制在判断主机是否开机在线非常有效。向目标主...
2018-08-07 19:57:10 1585
原创 简单的回调函数使用与创建
一般回调函数使用场景: 主线程需要等待某个事件触发再同时立刻触发某个操作。例如: 主控制器循环监控当前场景是否有车辆进入,当进入时,触发某个操作。此操作在我们调用线程中实现。 代码示例: 回调函数线程: 头文件: #pragma once #include "iostream" using namespace std; // 定义跨平台 #ifdef _WIN32 #define T...
2018-08-06 22:53:26 986
原创 C/C++ typedef关键字的几种简单用法
typedef 在C/C++ 是用来重命名的关键字。现在我就简单的总结一下typedef的用法及几种常见的简单用处。 1、当你不想用极长的一段代码来定义一个数据类型是,可用此来重新命名,如下: typedef std::map<strCarIndex, STRU_TrafficCarData> MapCarID2CarData 以此方式,后面在遍历查找增加删除等操作时便方便了许多...
2018-08-06 21:52:39 1845
Windows内核原理与实现
2019-03-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人