1. 程式人生 > >Unix-Linux 程式設計實踐教程 第十章 小結

Unix-Linux 程式設計實踐教程 第十章 小結

  • 檔案描述符是一個資源陣列的索引,每次取最小的用,0、1、2分別代表stdin,stdout,stderr三個標準IO的描述符。重定向只需close其中其中一個,然後再開啟一個檔案描述符,系統自動將關閉掉的索引重新使用。比如close(0),open(x-file,"r"),此時就是將stdin重定向到x-file中了。
  • 重定向的函式---dup()                                                                                                                                                                                                                      
  • 重定向到檔案的特性:
    1. stdin、stdout、stderr,分別對應於檔案描述符0、1、2
    2. 核心總是使用最低檔案描述符
    3. 檔案描述符集合通過exec呼叫傳遞,且不會背改變
  • fopen將檔案開啟作為作為一個流,popen將程序開啟(實際上就是執行指定檔案),並將程序的輸出作為一個流
  • struct sockaddr和struct sockaddr_in兩個結構體都用於網路通訊,大小一樣,都包含通訊型別、IP地址、埠三個資訊。不同的是,sockaddr_in是對外開發介面,sockaddr是系統核心使用的結構,所以網路程式設計中通常使用sockaddr_in,然後在bind的時候再強制轉換成sockaddr。
  • 伺服器端socket繫結到INADDR_ANY,那麼無論流量從哪個網絡卡 哪個ip過來都可以接收到
  • localhost、127.0.0.1和本機IP區別
    1.   localhost 127.0.01 本機IP
      網路 不聯網 不聯網 聯網
      傳輸 不使用網絡卡,不受防火牆限制
      使用網絡卡,受防火牆限制 使用網絡卡,受防火牆限制
      訪問 本機訪問     本機訪問 本機or外部訪問