Показать сообщение отдельно
Старый 17.03.2007, 22:28   #6
Nunan
Оператор ЭВМ
 
Регистрация: 23.10.2006
Сообщений: 39
Написано одно полезное сообщение
(для 0 участников)
Re: Чат в игре. Непонятные моменты.

Всё, с набором сообщений я разобрался. Всё оказалось намного проще чем я думал , GetKey() - это хорошо.


Все сообщения через ДиректПлей я отправляю с SendMessage ,,,,0
Я понял что надо:
Сервер получил сообщение и отправляет всем клиентам.
Сервер отправляет это сообщение клиенту пока от него не придёт подтверждение что он принял. А клиент , когда получил сообщение отправляет подврждение, тоесть :
если клиент получил сообщение, отправил подтверждение, если сервер не получил подтверждение то он ещё раз пошлёт клиенту его, а клиент когда ещё раз получит то ещё раз отправит подтверждение (!но он недолжен его вписывать с лог чата, так как будут копии), и это продолжается до тех пор пока сервер не получит подтверждение и не перестанет отправлять сообщение.

Но чтобы не было копий надо чтобы каждое сообщение нумеровалось, чтобы сервер когда получал сообщение повторно то не добавлял его в массив последних сообщений чата и не отправлял его как новое всем. И чтобы клиент не думал что это новое сообщение.
Надо наверно просто i++ при каждом новом сообщении.
__________________
NTFS для Mac
(Offline)
 
Ответить с цитированием