|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.02.2010, 20:20 | #311 |
Пользователь
Регистрация: 01.10.2009
Сообщений: 10
|
Еще интересует как зделать возможность смены ника, когда сидиш в чате. И интересует как реализовать отправку файлов с отображением хода отправки. (название, общ. размер, скока отослано (кб), скока осталось отослать (кб), скока время осталось и скака время заняла отправка)
ps; со статусами так и не разабрался Последний раз редактировалось mishqa35; 25.02.2010 в 21:17. |
26.02.2010, 16:17 | #312 | |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Передача файла через сокеты
Цитата:
Есть такой класс TMemoryStream - поток данных, и вы наверняка видели в сокетах кроме SendText и SendBuf - SendStream. Это и есть буфер для передачи любых данных, большого размера. Что нужно сделать? ...создадим переменную NetFile: TMemoryStream; ...загрузим в нее файл любого формата с диска: Код:
Код:
Структура передачи будет такова: 1) Сервер шлет клиенту команду "прими файл", в ней имя файла, размер и сопутствующие данные, например имя отправителя или что еще угодно. 2) Сервер подготавливает поток и отсылает клиенту. В силу особенности сети поток разобьется на части и будет приходить пакетами. 3) Клиент принимает пакет заголовка, создает поток, записывает длину файла в переменную, переходит в режим приема файла. Каждый раз после приема пакета перед записью в поток сверяет с размером, если весь файл пришел, то сохраняет на диск поток, если не весь, то записывает в ProgressBar текущий размер принятого. 4) Клиент переходит в режим чата. Придется разобраться, я объяснил все предельно понятно, ...еще яснее только - дать готовый код.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 26.02.2010 в 16:21. |
|
28.02.2010, 01:50 | #313 |
Пользователь
Регистрация: 27.02.2010
Сообщений: 12
|
Beermonza Спасибо вам за программу,за ваше терпение ,помощь,все работает нормально!!!! Это отличное пособие для начинающих.Конечно функций мало в нем ,можно вас попросить выложить исходники регистрации нормальной в чате, смайлов, и бана! Если не можите укажите сколько денег нужно за них , мне очень нужны эти исходники ,хочу чат зделать ,хороший чат, довно мечтаю!
|
28.02.2010, 17:17 | #314 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Спасибо за отзывы, ...но, думаю, вам любой знающий программист доделает из того набора, что уже предложен, ...у меня нет времени этим заниматься.
Спешу только предупредить, если вы будете использовать доделанный проект в коммерческих целях, то не забывайте об авторском праве, в остальном можно поступать с исходниками и их доработкой как-угодно. Если вам нужна именно моя помощь, пишите в личку.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
03.03.2010, 03:44 | #315 | ||
Пользователь
Регистрация: 01.10.2009
Сообщений: 10
|
Beermonza, нужна твоя помощь..
Решил доделать статусы, перечитал все твои посты не по одному разу, сделал отправку с клиента на сервер и с сервера клиенту. Отправка сделана на StatusBox'е. Принимает и отправляет замечательно, вот загвоздка в этих строчках Цитата:
Что я сделал, ... добавил с процедуру ClientSocketRead номер 4 и добавил код Код:
|
||
03.03.2010, 20:55 | #316 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Если все с отправкой и приемом сделано как я описал выше, то сервер присылает пакет с ником, изменившим свой статус, по коду 4. Вот у клиента сработал Case 4: что в нем? ...судя по описанию, должен быть поиск ника в списке, ...условие:
Код:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
04.03.2010, 05:40 | #317 | |
Пользователь
Регистрация: 01.10.2009
Сообщений: 10
|
Beermonza, большое спасибо с этим разобрался. Но есть глюк, возможно только один раз менять статус, при повторной смене не чего не происходит.
Вот код: так я отправляю с клиента / сервера Код:
Код:
Код:
Цитата:
|
|
04.03.2010, 15:53 | #318 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
procedure TForm1.StatusBoxChange(Sender: TObject); - ошибки, с сервера приписка UserMas[i].Name. Разослать с сервера нужно всем, без условий, поскольку каналы числятся на клиентах.
В ServerTimerTimer аналогично, без условий отсылать всем клиентам, ведь клиент шлет только запрос, а статус меняет ему и всем остальным - сервер. С картинками: Код:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
04.03.2010, 23:19 | #319 | |
Пользователь
Регистрация: 27.02.2010
Сообщений: 12
|
)))
Здравствуйте еще раз хочу процитировать ваш пост
Цитата:
Последний раз редактировалось Beermonza; 05.03.2010 в 00:56. |
|
05.03.2010, 00:55 | #320 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Понимаю, что очень вам нужно, но у меня просто нет компонента TRxRichEdit, скачивать его и заниматься, чтобы потом объяснить на пальцах, у меня, к сожалению нет времени, ...итак кодинга завались, еле разгребаю, ...извините.
Задайте вопрос по поводу использования компонента TRxRichEdit в соответствующем разделе: http://programmersforum.ru/forumdisplay.php?f=39 ...вам помогут.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 05.03.2010 в 00:59. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
обновление в блоге - Создание клиент-сервера | 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 |