原创 模擬實現隊列

隊列:在隊尾插入元素,在隊頭刪除元素,符合先進先出原則; 棧:符合先進後出原則; 隊列的分類: 1.順序隊列 2.循環隊列 3.鏈式隊列 4.優先級隊列 5.雙端隊列 循環隊列的實現方法:

原创 CRC循環冗餘校驗碼

1、CRC CRC循環冗餘校驗碼是數據通信中的一種查錯校驗碼。 循環冗餘檢查對數據進行多項式計算,將計算結果附加在幀後面,接收數據的設備執行模2運算,保證數據傳輸的正確性和完整性。 2.模2除法 ①不向上借位,只要除數和被

原创 二叉搜索樹---使用迭代器

迭代器:它的用法與指針用法相同 使用迭代器實現二叉搜索樹,使用有兩個指針域的頭結點實現, 並且多給BSTree中加入一個雙親結點_pParent。 代碼: BSTIterator.hpp #pragma o

原创 dup/dup2實現客戶端

1.dup/dup2介紹 man dup後: 作用:進行文件描述符重定向; ①dup將oldfd複製給一個新的描述符,這個新文件描述符指向oldfd擁有的文件表項,dup函數返回新文件描述符; ②dup2與dup的作用相似,只是

原创 正則表達式及grep、sed、awk、cut、sort、uniq工具

1.正則表達式 (1)定義:規定一些特殊語法用來對字符串進行模糊匹配; (2)特點: ①靈活性、邏輯性和功能性較強; ②可以迅速地用簡單的方式匹配字符串; (3)使用事項:當正則表達式作爲命令參數

原创 Linux I/O多路轉接----poll模型

1.poll模型屬於I/O多路轉接模型,是對select模型的一種優化; int  poll(struct pollfd *fds,nfd_t  nfds,int timeout); 2.poll的優點: ①poll使用數組存儲文件

原创 shell---反引號,$( )以及eval的比較

1.反引號“ 和$( )的相同點: 反引號是將“中的命令執行,再將執行結果替換到代碼所在地,交給外層顯示,即將命令的結果作爲輸入或輸出。 $( )和反引號都是用於命令的替換 編寫一個腳本,顯示出HOME目錄: 執行結果,與預期

原创 TCP定時器調研

TCP常用的四種定時器: 重傳定時器 堅持定時器 保活定時器 時間等待定時器 具體介紹: (1)重傳定時器 ①應用場景: TCP報文段超時 ② 特點:對於tcp協議,在規定的時間內,發現沒有收到ACK,就會重新發送消息,如果還沒

原创 shell字符串截取

一、按指定字符串截取 方法一: 1.# 從左向右截取指定字符串第一次出現後的字符串 2. ## 從左向右截取指定字符串最後一次出現後的字符串 3. % 從右向左截取指定字符串第一次出現後的字符串 4. %% 從右向左截取指定

原创 crond和crontab調研

1.crond crond在linux下是一個定時執行工具,可以在無需人工干預的情況下定時地運行任務; crond文件位於/etc/rc.d/init.d/crond 要設置這個服務在系統啓動的時候自動啓動,在/etc/rc.d

原创 TCP報文標誌位--URG,PSH調研

1.URG:緊急位 當設置爲1時,表示TCP報文中的緊急指針有效,此時告訴系統此報文段中有緊急數據,應優先傳送,發送方會把緊急數據放至報文最前面,URG設置爲0時,緊急指針無意義; 窗口大小爲0時,也可以發送緊急數據; 2.PSH:

原创 路由生成算法調研

1.路由 路由(名詞):數據包從源地址到目的地址所經過的路徑,由一系列路由節點組成。 路由(動詞):從一個接口上收到數據包,根據數據包的目的地址進行定向並轉發到另一個接口的過程。 2.路由表 路由表是一個存儲在路由器或者聯網計

原创 select服務器

1.select簡單介紹 ①select:一次用來等待多個文件描述符,只負責等待 ②select函數: int select(int nfds,fd_set *readfds,fd_set *writefds,fd_set *e

原创 端口調研

1.定義: 端口一般認爲是設備與外界通訊交流的出口; 端口可以分爲物理端口和虛擬端口: ①物理端口:可以叫做接口,是可見端口,如交換機,路由器,集線器,用於連接其他網絡設備的接口,比如RJ-45端口; ②虛擬接口:是邏輯意義

原创 Linux進程池、線程池調研

1.進程池 (1)進程池是由服務器預先創建的一組子進程,這些子進程的數目在3-10個之間。進程池中的所有子進程都運行着相同的代碼,並具有相同的屬性,比如優先級,PGID等等。因爲進程池在服務器啓動之初就創建好了,所以他們沒有打開不必要的