FTP 小結

多線程FTP:多線程

  •  以線程爲單位來處理socket鏈接,每一個線程單獨維護一個當前目錄變量(線程局部變量)。Linux中的實現是以pthread_key_t做爲全局鍵來映射到每一個線程的局部變量(內裏的細節就是映射到線程局部變量的地址
  • socket上的每一個I/O流程分解爲單獨的函數,以socket fd爲參數
  • 爲NULL的fp和-1的fd,不用fclose()和close()
  • fgets會讀取’\n’,也須要讀取'\n',同時client端負責過濾輸入的字符串,以後再發送,server端可不用過濾
  • 同一端必須全用同一種socket Input函數,和同一種socket Output函數,不要read()和fread()混用
  • fwrite()以後須要fflush()才能將內容write到TCP緩衝區中
相關文章
相關標籤/搜索