SocketPair學習筆記

2021-10-05 16:36:20 字數 594 閱讀 8025

在看使用libevent的時候,它裡面有乙個建立socketpair對的函式

先分析一下什麼是socketpair.

首先搞明白,在我們平時單個客戶端和服務端tcp通訊的時候,需要三個socket才能做到能夠全雙工通訊,什麼?三個,是的沒錯!

乙個客戶端client ,乙個服務端server,  乙個accepter;  一開始client 連線server,server在接受client連線的時候,產生乙個accepter,專門負責與client通訊.  好了,我們socketpair就到此完了,我們只需要把client ,accepter 儲存起來,server關閉掉,就完成socketpair對建立.

client,accept是啥?其實就是兩個數字,在同一機器上,有了這兩個數字就可以在任何的程序,執行緒相互的收發訊息,想想都很爽!因為在不同執行緒,程序收發訊息是不需要加鎖,隨便弄!(訊息粘包自己處理好就行),類似於qt裡面訊號槽機制,訊息我發了,至於誰收,做什麼處理,我不管,是不是很好的解耦合!

最後附上封裝的 tcp庫,也可以到gitee上

socketpair 雙向傳輸

socketpair會建立兩個網路檔案系統的描述符socket 0 socket 1 儲存在乙個二元陣列中。用於雙向的資料傳輸。define socket buffer size 32768u int sockets 2 int buffersize socket buffer size 1.建立s...

socketpair的用法和理解

socketpair 函式的宣告 include include int socketpair int d,int type,int protocol,int sv 2 socketpair 函式用於建立一對無名的 相互連線的套接子。如果函式成功,則返回0,建立好的套接字分別是sv 0 和sv 1 ...

socketpair的用法和理解

socketpair 標頭檔案 synopsis include see notes include int socketpair int domain,int type,int protocol,int sv 2 socketpair 函式用於建立一對無名的 相互連線的套接子。如果函式成功,則返回...