原创 套接字超時處理的三種方法

一、使用SIGALRM爲connect 設置超時 signal  捕捉到alarm信號之後會中斷connect函數,導致返回值爲EINTR,因此可提前設置connect超時返回,而不用等到最長 75s的connect原始超時時長 1、

原创 linux 實現非阻塞accept

使用場景: 當在較忙的web服務器中常出現,條件爲:   解決方法:   代碼如下: 待完成。                

原创 Markdown編輯記錄

文章目錄名字1、生成目錄2、常規操作3、代碼塊4、改變字體5、文字居中6、其餘操作 1、生成目錄 在文章開頭輸入 @[toc] (裏面寫入目錄名字),即可自動生成目錄名字 2、常規操作 標題 # 一級標題 ## 二級標題

原创 萊昂納德:今年的決賽沒有亞軍,勇士比我們更配得上歡呼聲

轉至:今日頭條 舊金山體育 2019-06-14 13:52:51 北京時間2019年6月14日,在剛剛結束的比賽中,多倫多猛龍隊以114-110戰勝了金州勇士隊,奪得了隊史第一座總冠軍獎盃,同時還破滅了勇士隊三連冠的機會。全場比賽,萊昂

原创 gcc 編譯及Makefile

學習Makefilegcc編譯規則1、預處理2、編譯3、彙編4、鏈接寫Makefile gcc編譯規則 1、預處理 在預處理階段,編譯器主要作加載頭文件、宏替換、條件編譯的作用。一般處理帶“#”的語句。 我們可以通過gcc 的 -

原创 IT編程感悟

大學生及轉行學IT編程,做不到這4點,建議放棄,否則前途迷茫!   大學生及轉行學IT編程,必須做到這4點,做不到!建議放棄編程方向,否則,未來前途會非常迷茫,事業發展會更加尷尬! IT界:選擇與努力,同樣重要!方向錯了,只能與目標背道而

原创 Ip地址轉int的互轉工具

抽空寫了個轉IP的小工具,挺簡單的,有時候偶爾用一下,記錄一下 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #in

原创 shell 點點滴滴

記錄點滴1、shell腳本2、其餘記錄 1、shell腳本 運行程序當前工作目錄 #!/bin/bash # 1 WORK_PATH=$(cd `dirname $0`; pwd) echo $WORK_PATH # 2 cd

原创 source insight 添加多行註釋

si 添加多行註釋 點擊 Project --> open project --> 選擇Base,添加代碼後再次選擇打開項目,選擇你之前建立的工程項目,打開。 然後點擊 Option --> key Assignments --

原创 轉載-- 淺談DDos攻擊與防禦

淺談DDos攻擊與防禦 發表於 2017-05-10   |   分類於 網絡安全   |   熱度 4194 ℃   水能載舟,亦能覆舟   最近重新拜讀了道哥的經典力作《白帽子講Web安全》一書,發覺好書看一遍是不夠的,每次品味都有

原创 TCP三次握手

1、爲何採用三次握手,而不是兩次 解答:因爲客戶發送第一次SYN,超時沒有收到確認ACK,則會重發SYN分節,若2次握手,則服務端在收到兩個SYN分節,都會建立連接(相關資源浪費),但客戶會丟棄第一次SYN的ACK確認包,導致服務端相當於

原创 gdb調試命令

gdb調試命令     本文主要參考自:http://www.cnblogs.com/zzx1045917067/archive/2012/12/26/2834310.html,進行了一點補充和編排;Core dump部分參考了:http

原创 linux time時間獲取

1、返回指向時間字符串的指針 格式爲:12:34:56.123456   時分秒.微妙 #include "unp.h" #include <time.h> char * gf_time(void) { struc

原创 errno錯誤值

EINTR : 被信號中斷的慢速系統調用,當捕捉到信號且相應信號處理函數返回時 ECONNABORTED:由於客戶端在服務accept前發送了RST復位信號,客戶端可由SO_LINGER控制(UNPV16.21圖),實際在較忙的web服務

原创 TCP 簡易代碼

int recv_message(int sockfd, char *buf, int len) { int count = 0, ret; for (; ;) { ret = recv(soc