2013-02-09 40 views
0

我在java中創建了一個程序。我使用套接字讓不同的程序相互通信。我的問題是:是否可以看到以毫秒或更精確的速度發送數據包需要多長時間?所以從Socket.writeObject(Object)到Socket.readObject(Object)。可能看到發送一個包在java中花了多長時間

回答

1

你可以使用這種代碼獲取經過時間:

long startTime = new Date().getTime(); 
Socket.writeObject(Object) 
... 
Socket.readObject(Object) 
long endTime = new Date.getTime(); 
long difference = endTrim-startTime; //difference in milliseconds 

如果你想從服務器的時候,你需要向服務器發送一個請求,讓服務器發送的時間迴響應。這可以通過Web服務或簡單的HTTP請求來完成。

+0

但是,這裏的問題是,如果客戶改變他的時間,這將是不正確的。 – emillio5 2013-02-09 17:08:25

+0

看到編輯的答案,如果你想要服務器時間,你需要發送一個請求到服務器(這可以回答你的響應服務器的當前時間)。這有點複雜,但它的方式保持不變。 – Simon 2013-02-09 21:07:23

相關問題