同步,非同步,阻塞套接字,非阻塞套接字

2021-04-25 17:55:59 字數 811 閱讀 1785

步指的是

傳送方不等接收方響

應,便接著

發下個資料報的通訊方式 異

步指傳送方

發出資料後,等收到接收方

發回的響應,才

發下乙個資料報的通訊方式。

阻塞套接字是指執

行此套接字的網路呼叫

時,直到成功才返回,否

則一直阻塞在此網

絡呼叫上,比如呼叫

recv()函式讀

取網路緩

沖區中的資料,如果沒有資料到達,將一直掛在

recv()

這個函式

呼叫上,直到

讀到一些資料,此函式

呼叫才返回;

非阻塞套接字是指執

行此套接字的網路呼叫

時,不管是否

執行成功,都立即返回。比如呼叫

recv()函式讀

取網路緩

沖區中數

據,不管是否

讀到資料都立即返回,而不會一直掛在此函式

呼叫上。

在實際windows網路

通訊軟體開發

中,非同步

非阻塞套接字是用的最多的。平常所說的

c/s(客戶端

/伺服器)

結構的軟體就是異

步非阻塞模式的。

090318

從網路上的資料來看,目前的理解: 同步

+阻塞/非阻塞 非同步

+非阻塞

而且,阻塞和非阻塞應該還有分伺服器和客戶端兩種情況進行討論。

至於,整個概念的提出以及經典原著,沒有看過。因為不知道如何去查。

非阻塞套接字

建立socket服務端 server socket.socket 設定非阻塞 server.setblocking false 繫結ip和埠 server.bind 6969 監聽 server.listen 5 存放連線進來的客戶端 client list accept 和recv 方法,設定非阻...

非阻塞套接字

開始之前,需要先了解一下什麼會引起程序阻塞和喚醒的事件 1 向系統請求共享資源失敗。程序在向系統請求共享資源時,由於系統已無足夠的資源分配給它,此時程序因不能繼續執行而轉變為阻塞狀態。2 等待某種操作的完成。當程序啟動某種操作後,如果該程序必須在該操作完成之後才能繼續執行,則先將該程序阻塞起來以等待...

非阻塞 connect套接字

非阻塞connect套接字的作用 1 完成乙個connect要花費rtt時間,而rtt波動範圍很大,從區域網上的幾個毫秒甚至是廣域網上的幾秒,這段時間也許有我們要執行的其他處理工作可以執行。2 可以使用這個技術同事建立多個連線。3 許多connect的超時實現以75秒為預設值,如果應用程式想自定義乙...