文件傳輸編程
下面給你介紹3種解決方法:
解決方案一:
發送時發送一個記錄客戶端時間的包,同時記錄好這個包的大小 。服務端在收到這個包後,拆包。取出客戶端時間和自己的服務端時間時行差值計算。
然後,接下去就好做了
解決方案二:
在發送數據的時候獲取當前系統時間,並將其作為初始時間保存下來(比如long beginTime=毫秒數),傳輸到客戶端;然後再客戶端收到文件後計算與當前系統時間的差值即可。
解決方案三:
long start=System.currentTimeMillis();
傳輸的過程或者方法調用
long end=System.currentTimeMillis();
System.out.println("傳輸時間"+(end-start)+"毫秒");
『貳』 用Java實現在兩台電腦之間的文件傳輸
使用Socket可以做到,不過直接編程一般都是在區域網內,如果要在不同區域網間通信,需要使用一台有公網IP的伺服器,可以電腦A和電腦B同時連接伺服器,然後A向伺服器傳遞文件,伺服器再將文件轉發電腦B。也可以使用打洞的方式使A、B互聯,此時伺服器的作用是輔助打洞。A、B向伺服器發送信息後socket不要關閉(假設使用10989埠),同時使用Serversocket綁定監聽相同的埠(監聽10989埠)。在java中有參數可以做到,具體方法請自行網路。伺服器獲取到A、B的外網地址和埠,將A的外網地址信息發送給B、將B的外網地址信息發送給A。然後使用A沒有關閉的Socket向B發送一組信息(此時連接會失敗,但是B的路由表上已經記錄了A的信息),發送後A向伺服器發送消息,伺服器告訴B A已經發送消息。然後B使用未關閉的socket向A發送消息,就和A上監聽的ServerSocket取得連接了。之後就可以互相傳遞數據。