同樣為套接字socket,但是客戶端和伺服器的是不同的:
1)介面api不同
服務端: bind -->繫結乙個固定埠
listen -->監聽
accept -->接收到乙個客戶端連線
客戶端: connect -->根據指定的伺服器host+ip去連線
2)伺服器應對的是多個客戶端,可能會多個客戶端同時與伺服器通訊,多路io復用,而且要非同步,避免多個客戶端通訊時,阻塞了io,被作業系統掛起,其它客戶端操作得不到響應。 而是要用epoll這樣,雖然也是阻塞,但是是系統級別的,可以同時等待多個客戶端網路事件。
3)客戶端只關心,把我的資料正常**即可,只關心與自己通訊的伺服器套接字。
Redis客戶端和伺服器
一 redis客戶端 redisserver結構中儲存了所有客戶端的狀態資訊。struct redisserver 命令client list可以列出目前所有連線到伺服器的客戶端。命令client setname name 可以給客戶端設定乙個名字。偽客戶端 由於伺服器必須接收來自客戶端的命令以執行...
Redis 客戶端和伺服器
客戶端的資料結構 typedef struct redisclient redisclient 名字 name 標誌值 flags 指向客戶端正在使用的資料庫的指標,以及該資料庫的號碼 當前要執行的命令 命令的引數 命令的個數,以及指向命令實現函式的指標 輸入緩衝區 querybuf 輸出緩衝區 複...
C 客戶端和伺服器端
1 c s 客戶端應用程式 winform wpf 平級 資料是存放在其他的電腦上或伺服器上 資料的加工是在使用者的電腦上執行的,會對使用者的電腦配置有所要求 2 b s 網頁端應用程式 asp.net 統稱 asp.net webform asp.net mvc 平級 使用者傳送乙個請求到iis伺...