Форум
Философия программирования
Тема
Как правильно задавать вопросы
B
I
abc
U
X
3
X
3
H1
H2
H3
H4
H5
H6
Asm
C/C++
C#
Erlang
Haskell
IDL
Java
Lisp
MSIL
Nemerle
ObjC
OCaml
Pascal
Perl
PHP
Prolog
Python
Ruby
Rust
SQL
VB
Здравствуйте, ·, Вы писали: ·>Здравствуйте, Ватакуси, Вы писали: В>>>>·>Клиент создал НЕЧТО. Послал серверу команду "сохрани", связь оборвалась и ответа клиент не увидел. Как клиент сможет узнать, сохранилось НЕЧТО или нет? Должен он ещё раз послать это НЕЧТО для сохранения или нет? Если оно сохранилось, как получить этот ID сохранённого? В>>>>Повторить. Если сохранилось, то 201 и ответ. В чём сложность? В>>·>Как сервер отличит повтор от нового НЕЧТО? В>>Куча способов. ·>Опиши конкретно, с подробностями хотя бы один из них. В>>От целостности ДБ (уникальные ключи и т.п.) ·>Эээ.. Т.е. чтобы у нас был уникальный ключ нам нужно иметь уникальный ключ?.. В>>до проверки модели ДБ на сервере. ·>Это как? Модели чего? Проблема в рассинхронизации между клиентом и сервером. Сервер не знает что у клиента, клиент не знает что у сервера. В>>Полагаться на ID с клиента для подобного - это мягко говоря - так себе идея. ·>Это не то что идея, это неизбежный вариант. В>>>>·>Более того... Клиент может создать пачку НЕЧТ и послать на сохранение. Или продолжать создавать новые НЕЧТЫ пока сервер сохраняет предыдущие. В>>>>Это что-то меняет? В>>·>Тем, что НЕЧТЫ надо между собой как-то идентифицировать ещё до сохранения на сервере. В>>Они же либо пачкой отправляются, либо отдельными запросами. ·>Т.е. ты должен неявно отправить N штук и потом ждать N назад, сопоставляя по очередности. Вариант, конечно, но опять всё сломается при сетевых ошибках, да и не очень очевидно в чём преимущества. В>>В любом случае ты получишь ответ соответсвующий каждому из них. Даже, если это асинхронно выполнять. ·>Асинхронно вообще бардак начаться может, если, скажем, сервер работает в нескольких экземплярах и в итоге запросы могут обрабатываться не по порядку.
Теги:
Введите теги разделенные пробелами. Обрамляйте в кавычки словосочетания с пробелами внутри, например:
"Visual Studio" .NET
Имя, пароль:
Загрузить
Нравится наш сайт?
Помогите его развитию!
Отключить смайлики
Получать ответы по e-mail
Проверить правописание
Параметры проверки …