原创 關於網盤項目的反思和各種思路

一.關於一期各種命令的實現的不同方法的優缺點比較。 1.基於linux文件系統 服務器給每個用戶生成一個用戶主目錄,並提供給用戶操作該目錄的權限。然後使用數據庫記錄每個用戶的主目錄以及相應信息。 優點: 設計簡單,可以直接使用linux各

原创 網盤項目各種小技巧

1.字符串處理     對於具有一定格式的字符串可以通過下面的方法將每個數值從字符串中取出來,或者將各種不同的變量組合成字符串。 這是將多個不同的數據組合成一個字符串。在寫數據庫語句時這是很方便的拼接方法。 這是將具有一定格式的多組數據

原创 Linux之異步I/O

提問: 異步I/O(AIO)有哪些接口?如何使用? 爲什麼需要異步I/O?優缺點是什麼? 基本概念: 在異步非阻塞 I/O 中,我們可以同時發起多個傳輸操作。這需要每個傳輸操作都有惟一的上下文,這樣我們才能在它們完成時區分到底是哪個傳輸操

原创 Linux之網絡編程(一)

提問: 什麼是網絡編程?爲什麼需要網絡編程? c語言提供了哪些結構體和接口?如何使用? TCP和UDP的區別? Linux之網絡編程(一)(參考代碼) https://blog.csdn.net/birdunderastarrysky/a

原创 使用SELECT實現即時聊天小程序

服務端: #include <func.h> int server_init(char *ip, char *port){ int socketFd; socketFd = socket(AF_INET, SOCK_ST

原创 文件權限

提問: 如何看linux中文件的權限? r,w,x,t,s五種權限分別表示什麼意思?對於文件和目錄有什麼區別? 如何修改linux中文件的權限? 1.如何看linux中文件的權限? ls -l 2.r,w,x,t,s五種權

原创 簡單粗暴的頭文件

#include <sys/stat.h> #include <stdio.h> #include <unistd.h> #include <sys/stat.h> #include <sys/types.h> #include <di

原创 MMAP使用(二、參數相關分析)

1.內存保護和文件訪問模式交互 mmap映射需要文件描述符的讀權限(即open時需要加上讀權限),不然不能使用。 所有內存保護組合與使用O_RDWR標記打開文件是兼容的。 一些硬件架構不允許對一個分頁的只寫訪問。 prot值 描述 PRO

原创 Linux之線程——nptl線程庫(一)

提問: 什麼是線程?爲什麼需要線程? 如何使用線程?線程的使用接口? 線程的實際應用有哪些?可以與哪些技術結合?(這個以後我用了再來補充,或新開一節) 基本常識: 併發當有多個線程在操作時,如果系統只有一個CPU,則它根本不可能真正同時進

原创 Linux之線程同步——nptl線程庫(二)(基礎代碼)

Linux之線程同步——nptl線程庫(二)原理篇 https://blog.csdn.net/birdunderastarrysky/article/details/90573820 頭文件鏈接 https://blog.csdn.ne

原创 消息隊列

消息隊列的原理 消息隊列允許進程以消息的形式交換數據。 消息隊列進行的通信是面向消息的,即讀者接收到寫者寫入的整條消息。讀取一條消息的一部分而讓剩餘部分遺留在隊列中或一次讀取多條消息都是不可能的。這一點與管道不同,管道提供的是一個無法區分

原创 linux下的目錄操作(未完成版)

需要對目錄進行什麼樣的操作? 1.創建和刪除目錄 2.獲取目錄信息 3.改變目錄的訪問權限 4.獲取、改變當前目錄 5.以後有的話再補充。 注: 1.其中有一些作者不確定的,會在後面標註(?)來說明。 2.如果該博客有錯誤或疏漏,

原创 IPC之共享內存

1.提問 1.什麼是共享內存? 2.使用環境(用來解決什麼問題)是什麼? 3.接口是什麼樣的?如何使用? 2.什麼是共享內存?  1. 兩個或多個進程共享物理內存的同一塊區域(通常被稱爲段)。由於一個共享內存段會成爲一個進程用戶空間內存

原创 百度網盤項目bug分析與總結

bug分析: 1.使用異步IO讀取客戶端發來的文件出現下述情況: 情況分析:1.應該是異步IO還未完成,但是函數棧已經釋放了。 處理:加入等待error,看看是不是這種情況。 結果:是這樣的情況。 2.異步IO如何將從客戶端讀到的信息寫

原创 Linux之網絡編程(一)(參考代碼)

1.點分十進制轉化爲二進制數,二進制數轉化爲點分十進制。 #include <func.h> int main(int argc, char* argv[]) { ARGS_CHECK(argc, 2); struct