第八節 基於半關閉的檔案傳輸

2021-10-02 18:16:23 字數 3338 閱讀 7526

)//迴圈寫操作

write

(clie_fd,buf,buf_size);}

//傳送檔案後針對輸出流進行半關閉,這樣就向客戶端傳輸了eof,而客戶端也知道檔案傳輸已完成

shutdown

(clie_fd,shut_wr)

;//只關閉了輸出流,依然可以通過輸入流接收資料 傳送eof

read

(clie_fd,buf,buf_size)

;printf

("message from client: %s \n"

,buf )

;fclose

(fp)

;close

(clie_fd)

;close

(serv_fd)

;return0;

}void

error_handing

(const

char

*message)

file_client.c

#include

#include

#include

#include

#include

#include

#define buf_size 30

void

error_handing

(const

char

*message)

;int

main

(int argc,

char

const

*ar**)

int clie_fd =

socket

(pf_inet,sock_stream,0)

;if(clie_fd ==-1

)struct sockaddr_in clie_addr;

memset

(&clie_addr,0,

sizeof

(clie_addr));

clie_addr.sin_family = af_inet;

clie_addr.sin_addr.s_addr =

inet_addr

(ar**[1]

);clie_addr.sin_port =

htons

(atoi

(ar**[2]

));if

(connect

(clie_fd,

(struct sockaddr *

)&clie_addr,

sizeof

(clie_addr))==

-1) file *fp =

fopen

("receive.dat"

,"wb");

char buf[buf_size]

;memset

(&buf,0,

sizeof

(buf));

int read_cnt;

while

((read_cnt =

read

(clie_fd,buf,buf_size))!=

0)puts

("received file data");

write

(clie_fd,

"thank you",10

);fclose

(fp)

;close

(clie_fd)

;return0;

}void

error_handing

(const

char

*message)

Python第八節 檔案的操作

1 檔案開啟的格式 file open file name mode buffering 下表為 open 函式支援的檔案開啟模式 模式意義 r唯讀模式開啟檔案,讀檔案內容的指標會放在檔案的開頭。rbr 開啟檔案後,既可以從頭讀取檔案內容,也可以從開頭向檔案中寫入新的內容,寫入的新內容會覆蓋檔案中等...

第八節 企業應用PDM的步驟

第八節 企業應用pdm的步驟 和任何一件事情一樣,企業在應用pdm方面也需要有計畫有步驟地進行。投資pdm軟體的實施應用,對任何乙個企業來說,都不是一件小事情,因此更需要慎重行事。一般來說,企業在應用pdm的基本步驟如下 1 全面認識pdm。企業自身有哪些方面的問題需要解決,企業對pdm系統實施的期...

第八節 Array的遍歷 轉換以及 常規用法

scala var intarray array 1,2,3 intarray array int array 1,2,3 to length 1 scala for i 0 to intarray.length 1 12 3 until 小於length scala for i 0 until i...