原创 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