|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.08.2014, 16:51 | #1 | ||
Пользователь
Регистрация: 09.09.2009
Сообщений: 39
|
Commands out of sync; you can't run this command now
Здравствуйте!
У меня две проблемы - кривые руки(о боже, моя архитектура такой треш, спасите меня) и "Commands out of sync; you can't run this command now". Не обязательно читать про каждую, я буду очень благодарен за помощь в любой проблеме. Сначала необходимая для решения проблем информация, затем по каждой проблеме. Итак. Я пишу игру, сетевую - в первый раз. Это пошаговая стратегия для трех человек. В процессе игры клиенты часто используют бд(то есть, обращаются через сокеты к серверу, а он уже делает запрос). Первая проблема(моя ужасная архитектура): Цитата:
Цитата:
|
||
12.08.2014, 17:03 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Сначала сделайте, чтоб сервер посылал клиенту напрямую, по соединению, то, что писал в базу.
Потом сделайте, чтоб клиент читал данные из сети, а не из базы. Сервер пишет в базу + всем активным клиентам. Если кто подключится позднее - сервер берет из базы один раз и шлет новому клиенту по сети, а дальше он уже все получает автоматом. Главный урок - сериализация данных. |
12.08.2014, 19:43 | #3 | |
Пользователь
Регистрация: 09.09.2009
Сообщений: 39
|
Цитата:
Клиент итак читает из сети. С базой работает только сервер. По сокету сервер передает клиенту данные. А вот тут поподробнее. Сервер всем активным клиентам? Но у меня на каждого клиента по потоку(т.е. одного клиента обслуживает один, независимый экземпляр программы-сервера). Знаю, что это ужасно. Автоматом? Видимо, я вас совсем не понял Опишите, пожалуйста, поподробнее. Спасибо. |
|
12.08.2014, 20:12 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Я так понял, сервер пишет в базу а все клиенты из нее читают, разве нет?
|
12.08.2014, 23:25 | #5 |
Пользователь
Регистрация: 09.09.2009
Сообщений: 39
|
|
13.08.2014, 00:16 | #6 | |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Ну не знаю, я прочитал вот это:
Цитата:
Да, для этого надо будет отказаться от fork а использовать select(). Последний раз редактировалось waleri; 13.08.2014 в 00:18. |
|
13.08.2014, 14:42 | #7 | |
Пользователь
Регистрация: 09.09.2009
Сообщений: 39
|
Цитата:
|
|
13.08.2014, 15:01 | #8 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
А я не понял, в чем вторая проблема.
Там написано вероятная причина, но сама проблема не озвучена. |
13.08.2014, 20:07 | #9 |
Пользователь
Регистрация: 09.09.2009
Сообщений: 39
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Command: menuItem неактивен | D][mon | WPF, UWP, WinRT, XAML | 1 | 22.01.2014 21:53 |
c# и ms sync framework - отслеживание заменяемых файлов до синхронизации | Vygor | C# (си шарп) | 1 | 07.06.2012 18:03 |
sync Google Calendar with Emacs | Pam | Помощь студентам | 0 | 06.11.2011 14:47 |
Zadacha po izmeneniu command | Zmeiarm | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 22.12.2009 15:10 |