使用c 實現乙個FTP客戶端 二

2022-08-19 23:18:15 字數 647 閱讀 3107

接上篇這篇主要記錄程式設計方面的重點。

**包含的類如下:

①mysocket類,對socket進行了簡單的封裝

1

//對winsock socket的封裝

2class

mysocket

3;

②record類,儲存了客戶端與伺服器的互動資訊的資料結構

1

//列舉型別,cmd代表命令資訊,res代表響應資訊

2enum log_type ;34

//與伺服器的互動資訊

5class

record

6;

③logger類,負責控制傳輸埠的傳送命令,接收伺服器響應,記錄、顯示操作日誌等功能,包含乙個record類的vector,用於儲存此次程式執行的資訊

1

class

logger

2;

④file類,用於儲存檔案資訊的資料結構

1

class

file

2;

⑤ftpclient類,**的核心類

1

class

ftpclient

2;

使用tcp select實現客戶端與客戶端的通訊

使用多路復用實現客戶端與客戶端進行通訊 原理 客戶端只要一連上伺服器,立馬給伺服器傳送使用者名稱,然後在服務端將newsocketfd 存放在同乙個結構體中,客戶端先給伺服器傳送資料,然後通過伺服器 給客戶端。伺服器先會查詢對應名字的 newsocketfd 然後向該 newsocketfd 中寫入...

實現乙個簡單redis的客戶端

首先我們需要知道去連線到redis肯定是需要使用到socket 那麼可以建立乙個類專門實現與redis的乙個通訊。其次redis中是有屬於自己的協議的,使用aof進行持久化的時候,是否有看過相應的日誌檔案,用來存放命令,這邊順便說下如何開啟,並檢視該檔案。代表乙個命令的開始操作,3代表該操作後面總共...

FTP 客戶端軟體使用心得

從事it工作這麼多年。ftp軟體是用了不少。差不多都用了。發現了一款被稱為很古老的ftp工具,才知道是多麼的強大.以下是我的使用心得 leapftp 版本太老了 功能簡單。用著自然不爽。cuteftp 功能做的不錯,我用著比較麻煩。有點複雜。而且容易出錯。對其他的ftp服務端支援不好。turboft...