2013-02-09 5 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 

Если вы хотите, чтобы время от сервера, вам необходимо отправить запрос на сервер, чтобы сервер отправить время назад в ответ. Это можно сделать с помощью веб-службы или простого HTTP-запроса.

+0

Но проблема в том, что если клиент меняет свое время, это будет неправильно. – emillio5

+0

См. Отредактированный ответ, если вам нужно время сервера, вам необходимо отправить запрос на сервер (который может ответить вам с текущим временем сервера в ответе). Это немного сложнее, но способ сделать это остается прежним. – Simon

Смежные вопросы