![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
DenWPF |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
Это обязательно сервер - клиент.
и сервер как то отсылает пакет клиенту? или можно черзе БД? к примеру MySql? |
|||
|
||||
Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 5 Всего: 24 |
||||
|
||||
DenWPF |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
"клиент опрашивает сервер периодически" |
|||
|
||||
Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 5 Всего: 24 |
ну ты в любом случае будешь опрашивать серверную часть приложения которая в свою очередь будет опрашивать БД. в принципе мне кажется не принципиально, тут нужно решить есть ли необходимость хранить всю историю твоего чата
|
|||
|
||||
Yagmort |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 17.6.2009 Репутация: нет Всего: -1 |
Почитай про создание модели данных. создай 2 таблицы одна хранит пользователей, другая сообщения и перенеси ее в MySQL, можешь впринцепе использовать дополнительный редактор для MySQL - MySQL Front, далее присоедени ее к языку прораммирования и напиши скрип проверки логина и пароля, и сохранние сообщений в БД. Лучше использовать связку языков HTML+JavaSript+PHP и поставь себе сервер на локальный компьютер, (Apatch), но лучше поставь Denver он автоматом настраивается, а на woweb.ru найди готовые скрипты для чата если не хочешь писать ручками... Вообщем для начинающего это геморой, а так ничего сложного. Удачи
Добавлено @ 14:59 Если пишеш чат, то это будет тонкий клиент. А вообще логи чатов хранятся в .txt формате... так что лучше использовать его вместо СУБД Это сообщение отредактировал(а) Yagmort - 26.10.2010, 15:02 |
|||
|
||||
DenWPF |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
я ему про .net и десктоп а он мне про php. ты чего, не логи а история. Экскалупатор, ну в общем если мой клиент будет все все время спрашивать бд на запрос "дай мне те сообщения которые я не виде" - это будет нормально?? и грузить сильно будет? или так и делается? да, историю 100% надо хранить. даже скажу больше её надо пихнуть на сайт. |
|||
|
||||
gambit |
|
|||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: 3 Всего: 40 |
||||
|
||||
DenWPF |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
так как это сделать на реально проекте? использовать сокеты?
|
|||
|
||||
Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 5 Всего: 24 |
я думаю не очень нормально, лучше наоборот. как мне кажется клиент должен просто периодически проверять соединение с сервером а остальное время ждать подключение к себе от сервера. но это имхо, потому как я никогда чатов не писал. просто думаю что если пользователей будет много то они за DDOS`ят сервер к чертям. |
|||
|
||||
DenWPF |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
спасибо, жду ответа от того кто имел дело с этим...
Экскалупатор, я вообще так же думаю, но вот как это сделать не знаю. технология WPF |
|||
|
||||
wester |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 Репутация: 3 Всего: 13 |
DenWPF,
зачем ждать ? просто достаточно подумать, мои соображения (после 5 часов отладки в голове творится ужас, но все же) к серверу коннектится два клиента, один клиент отправляет сообщение на сервер. Сервер записывает его в БД, отправляет получателю , и ставит этому сообщению флаг "отправлено/доставлено получателю" и вот так в цикле. |
|||
|
||||
DenWPF |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
это ты не про чат, а про личную переписку. это легко решается чезрез простое mysql бд и запрос к ней..
|
|||
|
||||
wester |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 Репутация: 3 Всего: 13 |
DenWPF,
эмм... а по твоему чат это должно быть что - то большое и неповоротливое ? и вообще http://tinyurl.com/34pjkm8 |
|||
|
||||
Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 5 Всего: 24 |
что то я не пойму в чем у тебя возникли сложности. с архитектурой приложения? чем не подходит WCF? и по верх него все это запускать? как мне кажется должно быть как то так:
клиент: соединяется с сервером и сообщает ему свои координаты для обратной связи(ну или сервер их сам узнает и сохраняет). можно добавить сообщения серверу об изменении своего статуса(отошел, не доступен и пр.) и ждет сообщения от сервера. время от времени подтверждает свой статус и проверяет доступность соединения с сервером. ну собсна получает и отправляет сообщения. наверное было бы не плохо что бы отправлял серверу подтверждение что сообщение принято, дабы сервер мог отметить у себя что все "ок". сервер: ждет подключения клиентов. сохраняет данные о них, для того что бы можно было обратиться к клиенту(ip/port). при получении сообщения отправляет его адресату и записывает лог, при получении ответа клиента, что принято сообщение, отмечает что отправлено. при подключении клиента должен проверить нет ли неотправленных сообщений, если есть то отправить. периодически проверять клиентов, что они все тут и не отпал ли кто из них без его ведома(можно по тайм ауту отбрасывать). данные о подключении хранить в виде: логин, адрес. когда получает сообщение то сопоставлять по логину адрес и отправлять адресату. ну как то так я себе представляю этот процесс. может чего не учел, так это только набросок, но мысль вроде ясна. Добавлено через 4 минуты и 43 секунды наличие БД, конечно все усложняет. как мне кажется чаты(аськи и иже с ними) логи не хранят на сервере. хранят у клиентов. но если у тебя стоит задача создать такой чат... то тут никуда не денешься, бери и прикручивай БД. это в любом случае будет лучше текстовых файлов. если учесть что работать все это будет по сети то думаю что задержку в 1-2 сек. никто не заметит. зато получишь удобное хранилище логов, с которым потом же удобно будет работать(тебе же для чего то эти логи нужны...). |
|||
|
||||
DenWPF |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
вот и трабл WCF - не работал так нам его и не дали=((
а серверами я работал только в java. и то сервер делал у себя на машине, а клиент у себя на машине))) я не понимаю как создать свой сервер и работать сним =( |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | .NET для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |