原创 Redis 網絡通信模塊源碼分析(二)

偵聽 socket 初始化工作 有過網絡基礎的人都知道,網絡通信在應用層上的大致流程如下: 服務器端創建偵聽 socket; 將偵聽 socket 綁定到需要的 IP 地址和端口上(調用 Socket API bind 函數);

原创 Unix網絡編程卷1 第一章讀書筆記以及習題

1 下載源碼並且配置環境 對於想學習網絡編程的同學來說,《UNIX網絡編程》這書肯定是不二選擇。所謂實踐是檢驗真理的唯一標誌,特別是對於編程來講,再多的理論經驗也比不過code一次。《UNIX網絡編程》這本書提供連源碼下載,

原创 mysql報錯RuntimeError: cryptography is required for sha256_password or caching_sha2_password

運行python程序時出現 RuntimeError: cryptography is required for sha256_password or caching_sha2_password 報錯原因:mysql版本身份驗證

原创 偶然發現的一篇相見很晚的文章:如何學好遊戲編程

今天偶然發現一篇介紹如何學好遊戲編程的文章,相見恨晚呀,特轉載,轉帖地址:http://new.qzone.qq.com/79134054/blog/1226580538#!。 《如何學好遊戲編程》 此篇文章獻給

原创 Redis 網絡通信模塊源碼分析(四)

redis-server 接收到客戶端的第一條命令 redis-cli 給 redis-server 發送的第一條數據是 *1\r\n$7\r\nCOMMAND\r\n 。我們來看下對於這條數據如何處理,單步調試一下 readQu

原创 Redis 網絡通信模塊源碼分析(三)

偵聽 fd 與客戶端 fd 是如何掛載到 epfd 上去的 同樣的方式,要把一個 fd 掛載到 EPFD 上去,需要調用系統 API epoll_ctl ,搜索一下這個函數名。在文件 ae_epoll.c 中我們找到 aeApiA

原创 OPC-(二)-OPC通信前準備

OPC服務端和客戶端配置說明文檔 一、操作系統用戶 1、在OPC服務器上用Administrator用戶建立一個擁有管理員權限的用戶並設置密碼,一定要設置密碼,不能爲空,如:用戶名:OPCClientUser 密碼:123 2、

原创 OPC-(三)-OPC主要功能

同步訪問 OPC服務器把按照OPC應用程序的要求得到的數據訪問結果作爲方法的參數返回給OPC應用程序,OPC應用程序在結果被返回爲止一直必須處於等待狀態。 異步訪問 OPC服務器接到OPC應用程序的要求後,幾乎立即將方法返回。O

原创 調試 Redis 準備工作(一)

時下的業界,相對於傳統的關係型數據庫,以 key-value 思想實現的 NoSQL 內存數據庫非常流行,而提到內存數據庫,很多讀者第一反應就是 Redis 。確實,Redis 以其高效的性能和優雅的實現成爲衆多內存數據庫中的翹楚

原创 GDB 實用調試技巧(下)(十)

本節課的核心內容: 多線程下禁止線程切換 條件斷點 使用 GDB 調試多進程程序 多線程下禁止線程切換 假設現在有 5 個線程,除了主線程,工作線程都是下面這樣的一個函數: void thread_proc(void* arg

原创 自定義 GDB 調試命令(十一)

在某些場景下,我們需要根據自己的程序情況,制定一些可以在調試時輸出程序特定信息的命令,這在 GDB 中很容易做到,只要在 Linux 當前用戶家(home)目錄下,如 root 用戶是 “/root” 目錄,非 root 用戶則對

原创 Windows 系統調試 Linux 程序——VisualGDB(十四)

VisualGDB 是一款 Visual Studio 插件,安裝以後可以在 Windows 系統上利用 Visual Studio 強大的調試功能調試 Linux 程序。可能有讀者會說,最新版的 Visual Studio 20

原创 GDB 實用調試技巧( 上)(八)

本節課的核心內容: 將 print 打印結果顯示完整 讓被 GDB 調試的程序接收信號 函數明明存在,添加斷點時卻無效 將 print 打印結果顯示完整 當使用 print 命令打印一個字符串或者字符數組時,如果該字符串太長,

原创 GDB 高級擴展工具——CGDB(十三)

在使用 GDB 單步調試時,代碼每執行一行才顯示下一行,很多用慣了圖形界面 IDE 調試的讀者可能會覺得非常不方便,而 GDB TUI 可能看起來不錯,但是存在經常花屏的問題,也讓很多讀者不勝其煩。那 Linux 下有沒有既能在調

原创 GDB TUI——在 GDB 中顯示程序源碼(十二)

很多 Linux 用戶或者其他平臺用戶習慣了有強大的源碼顯示窗口的調試器,可能對 GDB 用 list 顯示源碼的方式非常不習慣,主要是因爲 GDB 在調試的時候不能很好地展示源碼。 GDB 中可以用 list 命令顯示源碼,但是