|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.01.2013, 18:33 | #721 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
У меня нет флага UpdDo, ...это возможно UpdMas. Моя структура управляется посредством запроса на обновление. Т.е. ты подаешь "заявку" флагом в любой удобный для тебя момент, а обновление данных массива и списка пользователей выполнится только в самом конце процедуры опроса, ...после того как все операции проделаны. Не рекомендую избавляться от флага.
Ты можешь не использовать ячейку 0. Но, стоит предусмотреть системные сообщения, которые должен рассылать сервер. Поэтому оставь как есть, но исключи возможность клиентов отправлять сообщения серверу и в списках не отображай его.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
14.02.2013, 13:58 | #722 |
Регистрация: 01.04.2012
Сообщений: 3
|
Добрый день. Во-первых, огромное спасибо за подробное описание по разработке чата. А во-вторых, очень прошу у вас помощи. Помогите, пожалуйста, в данном чате реализовать смайлы. Я установила TRxRichEdit.. и RichView тоже установила. Но не получается у меня самостоятельно внедрить смайлы в данный проект.
|
07.03.2013, 13:42 | #723 |
Регистрация: 01.04.2012
Сообщений: 3
|
Со смайлами разобралась сама...
Я понимаю, что данный проект уже давнишнее дело для вас... Но, дорогой Beermonza, помогите, пожалуйста, решить следующую проблему: В ранее выложенном PROJECT-Chat.rar есть toolbar1 и на нем toolButton'ы. Но все эти кнопки работают лишь для первой вкладки. Как сделать так, чтобы они срабатывали на текущую вкладку??? Например, очищали поле той вкладки, которая сейчас открыта, историю открытой вкладки сохраняли, а не вкладки общего чата. //Вот код очистки procedure TForm2.ToolButton1Click(Sender: TObject); begin ChatRichEdit.Clear; end; //Код сохранения переписки: procedure TForm2.ToolButton10Click(Sender: TObject); begin if sd.Execute = true then begin ChatRichEdit.PlainText := True; ChatRichEdit.lines.savetofile(sd.Fi leName +'.txt'); end; end; |
07.03.2013, 23:39 | #724 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Настя_Настя, а Вы задайте вопрос в разделе "Общие вопросы Delphi", ...тема у Вас касательно VCL и наследования объектов.
Код:
Сложно?
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
14.03.2013, 15:40 | #725 | |
Регистрация: 01.04.2012
Сообщений: 3
|
Цитата:
Но у меня еще один вопрос возник. Не могу разобраться, откуда добавляется этот кусок во входящих сообщениях ( при переписки между клиентами). Помогите пожалуйста! Где в коде надо что-то убрать, поправить или изменить??? Никак не могу понять! |
|
18.03.2013, 01:31 | #726 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Попробуйте искать по названию поля, в которое выводится текст. Отправка у вас нормальная, а тот кто отправляет при отображении в свое поле дублирует дату. Это не мой вариант, там может быть много чего, ...ищите команду Lines.Add.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
08.08.2013, 16:20 | #727 |
Регистрация: 07.08.2012
Сообщений: 8
|
Настя_Настя, а можешь выложить свой чат с исправленными ошибками и смайлами (очень интересно как ты их сделала)?
|
12.09.2013, 12:11 | #728 |
Форумчанин
Регистрация: 04.07.2013
Сообщений: 118
|
Здравствуйте, нашел ваш исходник, большое спасибо за него! Долго искал нечто подобное, вот только не как не могу разобраться, взял полностью ваш клиент-сервер, абсолютно не чего не меняя, и один закинул на сервер, а другой в несколько копий запускаю у себя на компьютере, в итоге что получается, порт на сервере который он слушает открытый это 100%, адрес стоит типа xxxx.ru айпи у сервера статический, их правда два, т.к. у сервера два интернета, один запасной на случай если первый отвалится. Так вот, у меня возникает проблемма, иногда ник клиента меняется, повторяя один и тот же ник типа - МойНик1МойНик, иногда клиенты отваливаются, и на сервере возникает ошибка - windows socket error удаленный хост принудительно отключился. В мемо на сервере иногда появляются сообщения клиент подключился, клиент отключился. При этом может возникнуть такое что сообщения могут не отсылаться вообще. А если все это проделать у себя на компьютере локально, то все работает как часы. А вот через интернет не хочет не как. Объясните пожалуйста где здесь могут быть камни? Пробовал уже и таймер сервера увеличивать и уменьшать все равно одно и тоже, правда при уменьшении таймера до 100мсек ошибки и повторы ников учащаются, а при увеличении например до 1000мсек некоторые сообщения не доходят, и в итоге часто клиенты отваливаются.
|
13.09.2013, 07:20 | #729 |
Форумчанин
Регистрация: 04.07.2013
Сообщений: 118
|
Я примерно понял в чем проблема, из за задержки интернета от клиента может прийти два пакета в одном, надо разделять, только как легче можно разделить их?
|
13.09.2013, 09:57 | #730 |
Форумчанин
Регистрация: 04.07.2013
Сообщений: 118
|
Решил проблему разделения, в конце каждого пакета добавляется символ - | при этом у пользователей стоит запрет на ввод этого символа, дальше в циклах разделяются сообщения если они вдруг оказались "склеенными". Проблема когда клиенты отваливались тоже решил, это была моя ошибка, у меня в программе IdTCPClient отсылал сообщения по этому же порту, не досмотрел), по этому возникал конфликт на сервере.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
обновление в блоге - Создание клиент-сервера | Pblog | Обсуждение статей | 0 | 03.10.2007 17:12 |
обновление в блоге - Диплом. Создание и продвижение сайта - готовь сани летом, а дипл | Pblog | Обсуждение статей | 0 | 31.08.2007 20:00 |
обновление в блоге - USB Холодильник | Pblog | Обсуждение статей | 0 | 25.06.2007 14:13 |
обновление в блоге - О ярлыках | Pblog | Обсуждение статей | 0 | 27.05.2007 03:17 |