5 反转180度

尚未进行身份认证

大家一起学习计算机

等级
TA的排名 33w+

epoll模式简单介绍与使用

前言epoll作为Linux特有的IO多路复用的模型,是select/poll的改进版,用于监控大量的文件描述符。另一个特点是,epoll全程为event poll,即该接口是基于事件触发的,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的描述符集合就行了。函数介绍创建epoll监控树根节点句柄/*创建一个epoll的句柄。size为epoll所...

2019-10-27 22:47:50

基于多线程多客户端连接的TCP模型

前言前面已经写了一篇简单的TCP模型,用于单线程单客户端链接,这种效率最高,但是适用场景也是最小的。今天再测试一番简单的多线程多客户端连接的TCP模型。== 这种模型目前也不常见,因为已经有很多的IO复用模型了 ==。但是基于对循序渐进的尊重,我依旧对这个模型进行了一次实验。服务端主线程中循环调用accept函数接收新的连接,每收到一个连接之后开启一个接收线程接收对端的发送;可以进行注册回...

2019-10-20 10:35:35

简单单线程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:30:31

使用winpcap开发网络抓包工具

前言: winpcap(windows packet capture)是windows平台下一个免费,公共的网络访问系统。开发winpcap这个项目的目的在于为win32应用程序提供访问网络底层的能力。它用于windows系统下的直接的网络编程。进行过网络方面学习的都知道,wireshark软件是基于winpcap的,winpcap可直接开发基于网络底层协议的应用程序,例如arp...

2018-08-22 22:43:24

I/O多路复用之select:多用户聊天室学习与开发

前言: 开发windows多用户聊天室的前提: 1、了解网络编程的基本步骤 2、了解阻塞非阻塞,同步异步概念 3、了解select模型的原理与使用实现功能: 1、新用户上线,将提醒所有在线用户; 2、用户下线,提醒在线用户 3、实现群聊,一个用户发送的消息要转发给所有用户 4、跨平台功能,能够同时在windows与linux下运行select模型 select的功能原理:...

2018-08-15 23:15:13

windows动态链接库开发教程1

本章节的内容来自《Windows核心编程》第五版第19章。详情请细看此书dll基础 dll高级技术 DLL注入与API拦截

2018-08-12 22:13:10

使用mosquitto开发包开发mqtt程序

1、简介 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,目前广泛应用于物联网概念中。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和制动器。2、支持mqtt的开发包目前非常多,但是常用的依旧是mosquitto。mosquitto下载地址:http://mosquitto.org...

2018-08-09 20:38:04

ICMP 协议用于ping 网络状态的原理与实现

ICMP协议简介: ICMP协议是TCP/IP 族的一个子协议,属于网络层协议。全称:Internet Control Message Protocol。(网络控制消息协议)。ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。用于检测网络存活状态。 使用: 1、用于主机扫描技术:ICMP Echo扫描技术 实现原理:ICMP的ping机制在判断主机是否开机在线非常有效。向目标主...

2018-08-07 19:57:10

简单的回调函数使用与创建

一般回调函数使用场景: 主线程需要等待某个事件触发再同时立刻触发某个操作。例如: 主控制器循环监控当前场景是否有车辆进入,当进入时,触发某个操作。此操作在我们调用线程中实现。 代码示例: 回调函数线程: 头文件:#pragma once#include "iostream"using namespace std;// 定义跨平台#ifdef _WIN32#define T...

2018-08-06 22:53:26

C/C++ typedef关键字的几种简单用法

typedef 在C/C++ 是用来重命名的关键字。现在我就简单的总结一下typedef的用法及几种常见的简单用处。 1、当你不想用极长的一段代码来定义一个数据类型是,可用此来重新命名,如下:typedef std::map<strCarIndex, STRU_TrafficCarData> MapCarID2CarData以此方式,后面在遍历查找增加删除等操作时便方便了许多...

2018-08-06 21:52:39
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。