這次要談的跟 Network Programming 沒有直接的關係。
在寫 Nonblocking Network Program 通常要處理 Buffering 的問題,但並不好寫,主要是因為
在 libevent 裡面提供相當不錯的 Buffer Library 可以用,完整的說明在
下面直接提供
在寫 Nonblocking Network Program 通常要處理 Buffering 的問題,但並不好寫,主要是因為
read()
或
recv()
不保證可以一次讀到一行的份量進來。
在 libevent 裡面提供相當不錯的 Buffer Library 可以用,完整的說明在
man event
的時候可以看到,最常用的應該就是以
evbuffer_add()
、
evbuffer_readline()
這兩個 Function,其他的知道存在就可以了,需要的時候再去看詳細的用法。
下面直接提供
libevent-buff.c
當作範例,編譯後看執行結果,再回頭來看 source code 應該就有感覺了: