原创 PGM可靠組播協議
PGM, Pragmatic General Multicast(RFC 3208)。基於IP層的傳輸層協議,與TCP/UDP同級。 開源工程OpenPGM,https://www.developerfusion.com/project/
原创 C++11 字符串分割
Using explode function as it used in PHP programming. The code above just a simple function, yet well-tested with vario
原创 C語言 冒泡排序和二分查找
#include <unistd.h> #include <stdio.h> int a[] = {11,2,3,44,58,16,7,8,9,10}; //冒泡排序 int order_main() { int
原创 Nginx的負載均衡原理
http://www.jointforce.com/jfperiodical/article/3810
原创 socket新特性之SO_REUSEPORT
翻譯原文:https://lwn.net/Articles/542629/ Linux Kernel 3.9中合併了TCP/UDP的SO_REUSEPORT特性。 允許多個進程(或者線程)綁定同一個端口: int sf
原创 巧用alias命令 - 簡化開發工作中的重複勞動
[xiongli@10-13-6-227 ~]$ vim alias alias l='tail -f /jchang/log/jc.log' alias p='ps aux | grep jchangd' alias k='killal
原创 TCP粘包解決方案 - 環形緩衝區
粘包產生原因: 先說TCP:由於TCP協議本身的機制(面向連接的可靠地協議-三次握手機制)客戶端與服務器會維持一個連接(Channel),數據在連接不斷開的情況下,可以持續不斷地將多個數據包發往服務器,但是如果發送的網絡數據包太小,那麼
原创 Linux下定位內存泄漏
查看程序內存空間兩種方法 一、查看/proc/{pid}/maps文件 #cat /proc/568/maps 00008000-0036a000 r-xp 00000000 00:0e 236 /home/hik/hico
原创 man 5 proc
# man 5 proc /proc/sys/fs/file-max This file defines a system-wide limit on the number of open
原创 sigsetjmp函數
相關函數:longjmp, siglongjmp, setjmp 表頭文件:#include <setjmp.h> 函數定義:int sigsetjmp(sigjmp_buf env, int savesigs) 函數說明:sigsetj
原创 TCP/IP分片
爲什麼分片? 瞭解幾個參數: 1. MTU (1)以太網和802.3對數據幀的長度都有一個限制,其最大值分別是1500和1492個字節。鏈路層的這個特性稱作MTU。不同類型的網絡大多數都有一個上限。如果IP層有一個數據要傳,且數據的長度比
原创 幾種IO模型
轉自:http://blog.csdn.net/historyasamirror/article/details/5778378 當你發現自己最受歡迎的一篇blog其實大錯特錯時,這絕對不是一件讓人愉悅的事。 《 IO - 同步,異步,
原创 多進程和多線程比較
通過對比說明: 對比維度 多進程 多線程 優勢 內存、CPU 系統需要分配額外的資源。上下文切換複雜,CPU利用率低 較小的開銷,CPU利用率高 線程佔優 數據共享 多進程數據都是相互獨立的,需要通過IPC共享數據(如共享內存)。 多線程
原创 高性能服務器架構(High-performace Server Architecture)
引言 本文將與你分享我多年來在服務器開發方面的一些經驗。對於這裏所說的服務器,更精確的定義應該是每秒處理大量離散消息或者請求的服務程序,網絡服務器更符合這種情況,但並非所有的網絡程序都是嚴格意義上的服務器。使用“高性能請求處理程序”是一
原创 linux gdb調試程序 - 信號
//設置信號處理動作 (gdb) handle 15 nostop print pass Signal Stop Print Pass to program Description SIGTERM