2015-07-11 2 views
0

Я разрабатываю веб-приложение, где сервер генерирует партии данных, и клиент периодически проверяет, доступны ли новые партии данных для загрузки. Способ, которым я это делаю, заключается в том, что всякий раз, когда сервер генерирует новую партию данных, она доступна по определенному URL-адресу. Клиент периодически проверяет URL-адрес, чтобы узнать, доступна ли для него новая партия. (В настоящее время я не использую веб-сокеты.) Эта партия данных находится в формате объекта JSON.Клиент получает новые данные с сервера

Поскольку у меня очень мало опыта работы в сети, я немного смущен тем, что делать, когда клиент посещает URL-адрес. Как клиент должен знать, являются ли партии данных на URL-адресе новыми (в этом случае клиент должен их загрузить) или старым (в этом случае клиент должен их игнорировать, так как он уже скачал их в прошлом)?

Также может быть несколько клиентов, работающих с одним и тем же сервером, поэтому решение должно работать независимо от количества клиентов.

+0

При дальнейших исследованиях я думаю, что мне, возможно, придется использовать «HTTP Error 304 - Not modified», и в этом случае клиент должен игнорировать партии данных на веб-странице, так как клиент уже загрузил эти партии. Однако, предполагая, что веб-страница была обновлена ​​с момента последнего посещения клиента, как клиент должен знать, какие партии данных на веб-странице являются новыми (которые должны быть загружены) и которые являются старыми (что он должен игнорировать, поскольку он имеет уже скачал их)? – randomUser47534

ответ

1

Включите свойство Timestamp (через скрипт на стороне сервера) в JSON, который выбрасывается сервером. Вам нужно изменить значение свойства timestamp каждый раз, когда вы обновляете данные на своем сервере. Теперь вам будет легко обнаружить изменения, проверив дату изменения.

+0

Спасибо. Если я отметю время каждой партии данных (потому что для меня полезны только партии с более поздними временными метками), есть ли способ загрузить эти партии с более поздней меткой времени? Или мне нужно загрузить все партии клиенту? Данные находятся в JSON, и я использую Javascript с AJAX на стороне клиента, если это помогает. – randomUser47534

+0

Можете ли вы иметь только одну партию и продолжать обновлять себя, а не иметь больше партий –

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