最大的網站源碼資源下載站,
為了設計統一和用戶操作方便,我們希望將服務端與客戶端融合在一起,形成一個程序,這樣用戶理解起來,更加直觀一點(其實這樣做也是為了方便調試,大家可以在本機上測試,自己傳文件給自己)。所以,我們在程序中需要使用兩個winsock控件,一個負責監聽,一個負責發送,當發送端連接成功以后,便選擇一個待發送的文件(可以是任意二進制文件),接著將文件名和文件字節長度發送給接收端,接收端收到這個消息以后,將文件名和文件長度解析出來,然后通知發送端可以開始發送文件;發送端讀到這個消息之后,將文件流以字節的形式發送到接收端,接收端收到后,將二進制流回寫,保存成文件即可。這里要注意兩點,一個是由于winsock每次最大傳輸8k的內容,所以需要將文件分解,每次傳輸固定數目的字節流,這樣發送和接收時都可以根據這個數目來判斷文件傳輸的進程,一旦字節流數目等于文件的大小,就需要關閉相應的文件句柄;另一點是由于我只使用一個winsock控件接收,接收文本時需要注意要將unicode轉碼,解析成可識別的信息。新聞熱點
疑難解答