因此對於上傳檔案客戶機和伺服器分別遵循如下順序
客戶機:
伺服器:
2.原始碼
#include#include#include#include#include#include #include#include#include#define port 3333
char ipaddr[15];
int sockfd;
struct sockaddr_in sockaddr;
void links()
// 連線
// 2.1 初始化位址
memset(&sockaddr, 0, sizeof(sockaddr));
sockaddr.sin_family = af_inet; // 設定位址族協議為ipv4
sockaddr.sin_port = htons(port); // 設定位址的埠號資訊,將主機位元組序轉換成網路位元組序
sockaddr.sin_addr.s_addr = inet_addr(ipaddr); // 將字串型ip位址(點分十進位制)轉換成32位網路位元組序的ip位址,或者inet_aton();
// 2.2 連線伺服器
if (connect(sockfd, (struct sockaddr *)&sockaddr, sizeof(sockaddr)) == -1) }
void upload_file(char *filename)
// 關閉檔案
close(fd);
}void download_file(char *filename)
//接收資料
read(sockfd, &filesize, 4);
while ((count = read(sockfd, (void *)buf, 1024)) > 0)
//關閉檔案
close(fd);
}void quit()
void menu()
break;
case '2':
break;
case '3':
break;
default:
break;
} }}int main(int argc, char *args)
strcpy(ipaddr, args[1]);
//建立連線
links();
//列印選單
menu();
//結尾操作
close(sockfd);
return 0;
}
#include#include#include#include#include#include#include#include#define port 3333
int sockfd, newfd;
struct sockaddr_in sockaddr;
struct sockaddr_in client_addr;
int sin_size;
void handle(char cmd)
; int filenamesize = 0;
int fd;
int filesize = 0;
int count = 0, totalrecv = 0;
char buf[1024];
struct stat fstat;
switch (cmd)
// 接收檔案長度
read(newfd, &filesize, 4);
// 接收檔案
while ((count = read(newfd, (void *)buf, 1024)) > 0)
// 關閉檔案
close(fd);
} break;
case 'd':
//傳送檔案包括檔案長度
if ((stat(filename, &fstat)) == -1)
return;
write(newfd, &fstat.st_size, 4);
while ((count = read(fd, (void *)buf, 1024)) > 0)
close(fd);
} break; }}
int main()
memset(&sockaddr, 0, sizeof(sockaddr));
sockaddr.sin_family = af_inet;
sockaddr.sin_port = htons(port);
sockaddr.sin_addr.s_addr = htonl(inaddr_any);
// 繫結位址
if (bind(sockfd, (struct sockaddr *)&sockaddr, sizeof(sockaddr)) == -1)
// 監聽
if (listen(sockfd, 10) == -1)
while (1)
// 處理事件
while (1)
else
}close(newfd);
} close(sockfd);
return 0;
}
網路安全傳輸系統 3 OpenSSL加密傳輸
1.基本介紹 1.1 未加密傳輸的安全弊端 1.2 加密基本原理 1.3 數字證書 1.4 ssl協議 openssl openssl 是乙個強大的安全套接字層密碼庫,囊括主要的密碼演算法 常用的金鑰和證書封裝管理功能及ssl協議,並提供豐富的應用程式供測試或其它目的使用。2.openssl移植 2...
HTTPS 網路安全傳輸協議下的訪問
https http 超文字傳輸協議 ssl 安全連線層 http 的安全版本.https 會專門建立乙個 安全的資料傳輸通道來傳輸資料,外界拿不到任何資料,現階段最安全的協議,目前在 http 模式下三大運營商傳送的惡意廣告氾濫,並且可以獲得使用者的個人資訊,知乎有專門文章講解如何到工信部投訴的內...
網路安全審計系統
網路安全審計系統針對網際網路行為提供有效的行為審計 內容審計 行為報警 行為控制及相關審計功能。從管理層面提供網際網路的有效監督,預防 制止資料洩密。滿足使用者對網際網路行為審計備案及安全保護措施的要求,提供完整的上網記錄,便於資訊追蹤 系統安全管理和風險防範。作用行為審計 內容審計 行為報警 背景...