原创 Openssl : thread safety
https://www.openssl.org/docs/man1.0.2/crypto/threads.html OpenSSL can safely be used in multi-threaded application
原创 PNP: NetCat
阻塞式IO是帶限速的。比如nc從/dev/zero讀取數據,然後寫到某個socket,如果接收socket速度慢,那麼從/dev/zero讀取也會慢 thread per connection 適用於連接數較少,或者線程廉價的情況
原创 PNP : procmon
數據的收發交給網絡庫,業務邏輯纔是網絡編程的重點。 侵入式 : 做成一個庫,使用者連接這個庫。能夠看到程序的內部狀態,但是需要使用同一種語言,需要重新編譯。 非侵入時:無需重新編譯,但是無法看到程序的內部狀態,只能看到cpu使
原创 How To Use Google Logging Library (glog)
From: http://rpg.ifi.uzh.ch/docs/glog.html TODO: 翻譯 點贊 收藏 分享 文章舉報 春泥麪包 發佈了195 篇原創
原创 Linux : screen
https://www.ibm.com/developerworks/cn/linux/l-cn-screen/ https://unix.stackexchange.com/questions/7453/how-to-spl
原创 Lock-Free Programming
參考: http://preshing.com/20120612/an-introduction-to-lock-free-programming/ http://blog.csdn.net/lifesider/articl
原创 TCP/IP Problem Collector
Connect: Cannot assign requested address 出現原因:客戶端機器沒有空閒端口可以使用了,可能是客戶端建立的大量的連接佔用了所有可用的端口,或者是客戶端主動close連接後的TIME_WAIT狀
原创 從tcp原理角度理解Broken pipe和Connection Reset by Peer的區別
原文: http://lovestblog.cn/blog/2014/05/20/tcp-broken-pipe/ 作者:你假笨@JVM
原创 PNP : Sudoku solver
Line protocol Request : [id:]<81digits>\r\n Response: [id:]<81digits>\r\n [id:]NoSolution\r\n Lib
原创 非阻塞connect
預備知識 套接字默認是阻塞的,那麼使用阻塞的套接字進行connect時自然會阻塞當前的程序流。 TODO:阻塞的connect最長會阻塞會阻塞多長時間? connect、accept與三次握手的關係圖: 非阻塞connect該怎
原创 Libevent : queue.h evbuffer bufferevent
0 參考 http://blog.csdn.net/column/details/libevent-src.html?&page=1 Libevent源碼中queue.h包含了鏈表的實現。在學習前參考了內核鏈表的設計,基本理解
原创 C++ istream_iterator
From: https://stackoverflow.com/questions/16727125/how-does-stdcopy-work-with-stream-iterators First, note that i
原创 C++ non type template parameters
模板中的非類型參數 可以在模板中定義非類型參數(non type parameter), 一個非類型參數表示一個值而非一個類型. (C++ Primer 5th P580) 那麼非類型參數可以是哪些呢? 書中的例子是以int爲
原创 PNP: TTCP
TTCP: Test TCP https://en.wikipedia.org/wiki/Ttcp 協議 struct SessionMessage { int32_t number; int32_t length
原创 raw socket in linux
0 前言 http://www.binarytides.com/raw-sockets-c-code-linux/ In normal sockets when any data is send over the network