C tcp傳送訊息和傳輸檔案

2021-06-22 02:09:39 字數 594 閱讀 4043

【背景】

最近做了乙個雙機備份,就是伺服器上有個資料夾,會接收客戶端傳來的檔案,而我們要做的就是同步這台伺服器和另一台備用伺服器上的檔案.

為了實現這個功能我們使用的tcp點對點傳輸.

【開發環境】

vs2005

【實現原理】

要實現同步要解決兩個問題,乙個是獲取本地伺服器上上傳上來的檔案,二是實現兩台機器間的檔案傳輸.

第乙個問題我們用的filesystemwatcher這個可以監視指定資料夾下的檔案變動,然後我們把變動的檔案資訊記錄到資料庫,在指定的時間間隔後同步兩台機器的檔案.

第二個問題我們用的tcp檔案傳輸,我們按照一定的原則通過傳輸訊息來告知備份伺服器的要傳輸的檔名稱和大小,然後傳輸檔案.

【**】

1:filesystemwatcher監視檔案變動的就不介紹了,很簡單的winform控制項應用.

2:為了完成檔案傳輸,我做了乙個tcphelper類庫,其中包括tcpcommon,tcpclienthelper,tcplistenerhelper三個類,tcpcommon主要實現了檔案傳輸時用的一些公共的方法比如傳送接收檔案,傳送接收訊息,和檔案hash的計算

tcpcommon

簡單C Tcp檔案傳輸

using system using system.net using system.net.sockets using system.io namespace win 連線使用 tcp 協議的服務端 服務端的ip位址 服務端的埠號 public static socket connectserve...

TCP CS檔案傳輸 傳送端

思路 1,建立連線請求 2,通過命令列引數,提取檔名 帶路徑 os.args 3,獲取檔案屬性,獲取檔名 不帶路徑 os.stat 4,傳送檔名給接收端 5,驗證接收端是否回應,在此用回執 ok 字串判斷 6,如果接收成功,則進行檔案傳送操作 1 以唯讀方式開啟待傳送檔案 2 讀指定檔案到buf中 ...

kafka 訊息傳送和接收

傳送 例項 public class kafkaproducerdemo extends thread override public void run else catch interruptedexception e catch executionexception e num try catc...