原创 epoll模式簡單介紹與使用

前言 epoll作爲Linux特有的IO多路複用的模型,是select/poll的改進版,用於監控大量的文件描述符。另一個特點是,epoll全程爲event poll,即該接口是基於事件觸發的,它無須遍歷整個被偵聽的描述符集,只要

原创 基於多線程多客戶端連接的TCP模型

前言 前面已經寫了一篇簡單的TCP模型,用於單線程單客戶端鏈接,這種效率最高,但是適用場景也是最小的。今天再測試一番簡單的多線程多客戶端連接的TCP模型。== 這種模型目前也不常見,因爲已經有很多的IO複用模型了 ==。但是基於對

原创 簡單單線程TCP Socket模型

開頭 本篇文章爲基礎的socket編程模型,單線程單連接收發 1 函數解析 socket /* Create a new socket of type TYPE in domain DOMAIN, using proto

原创 C++ try catch 捕獲空指針異常,數組越界異常

#include <exception> #include <iostream> using namespace std; /********************************** //project -> Prop

原创 使用mosquitto開發包開發mqtt程序

1、簡介 MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是IBM開發的一個即時通訊協議,目前廣泛應用於物聯網概念中。該協議支持所有平臺,幾乎可以把所有聯網物品和外部連接起來,被用來當

原创 C/C++ typedef關鍵字的幾種簡單用法

typedef 在C/C++ 是用來重命名的關鍵字。現在我就簡單的總結一下typedef的用法及幾種常見的簡單用處。 1、當你不想用極長的一段代碼來定義一個數據類型是,可用此來重新命名,如下: typedef std::map<strC

原创 使用winpcap開發網絡抓包工具

前言: winpcap(windows packet capture)是windows平臺下一個免費,公共的網絡訪問系統。開發winpcap這個項目的目的在於爲win32應用程序提供訪問網絡底層的能力。它用於window

原创 ICMP 協議用於ping 網絡狀態的原理與實現

ICMP協議簡介: ICMP協議是TCP/IP 族的一個子協議,屬於網絡層協議。全稱:Internet Control Message Protocol。(網絡控制消息協議)。ICMP協議是一種面向無連接的協議,用於傳輸出錯報告控制信息

原创 簡單的回調函數使用與創建

一般回調函數使用場景: 主線程需要等待某個事件觸發再同時立刻觸發某個操作。例如: 主控制器循環監控當前場景是否有車輛進入,當進入時,觸發某個操作。此操作在我們調用線程中實現。 代碼示例: 回調函數線程: 頭文件: #pragma