НАПИСАТЬ ЧАТ на Delphi

polar_kiev

Необходимо написать чат на Delphi до вечера четверга (4 мая)
Цена-ваши предложения
Разработка Chat’a
(на основе TserverSocket и TclientSocket)
Сервер.
1. Ведение списка зарегистрированных пользователей.
2. Список должен отображаться сервером и различать активных (подключенных в данный момент) и неактивных пользователей.
3. Список должен содержать: имя, зашифрованный пароль, признак активности, параметры (IP-адрес и порт) узла, с которого был осуществлен последний вход.
4. Список зарегистрированных пользователей сохраняется в типизированном файле “users.lst”.
5. При выборе сервера параметры пользователей считываются из этого файла.
6. При завершении сервера параметры пользователей сохраняются в этом файле.
7. Вход одного пользователя из двух и более узлов запрещен.
8. При попытке такого входа сервер пересылает сообщение об этом пользователю.
9. Периодически (время t) сервер рассылает всем активным пользователям список (только имя).
10. При подключении нового пользователя сервер пересылает ему список зарегистрированных пользователей.
11. При получении сообщения от пользователя A пользователю B сервер пересылает его пользователю B, если тот в данный момент активен. В противном случае, он отсылает пользователю A сообщение о неактивности B.
12. Сервер различает команду отключения пользователя и команду пересылки списка пользователей.
Клиент.
1. Параметры сервера (IP-адрес и порт) – это конфигурационные параметры, которые запоминаются в типизированном файле “config.srv.”
2. Эти параметры можно изменить, записав новые в файл.
3. Клиент отображает список зарегистрированных пользователей (имена) и различает активных и неактивных пользователей.
4. Выбор пользователя для беседы должен осуществляться правой кнопкой мыши и приводить к открытию нового окна с именем пользователя в заголовке окна.
5. Все сообщения для этого пользователя и ответы от него отображаются в этом окне.
6. Регистрация пользователя, изменение параметров сервера, подключение, отключение и запрос на список пользователей должны осуществляться из меню.
7. При регистрации пользователь пересылает серверу свои имя и зашифрованный пароль.

yolki

А в демки посмотреть?
Program Files\Borland\Delphi7\Demos\Internet\NetChat
TServerSocket и TClientSocket были в Delphi5. Но уже тогда были продвинутые компоненты от Indy. В седьмой они входят в комплект поставки. на них писать ГОРАЗДО удобнее.

polar_kiev

В демке не то, про Indy я знаю, но надо через Socket(ы такое уж задание

johnny2000

2 , тут ещё под требования подгонять неделю

polar_kiev

ну так кто-нибудь хочет взяться?

yolki

так, на вскидку - серверу писать 600 строк, клиенту - 300.
скорость среднего хуйатора (© glebius) - 100 строк в день (отлаженного, работающего кода)
итого - примерно 2 недели стахановскими темпами. такой забойщик должен получать 1.5-2 килобакса в месяц. т.е. 600-700 долларей за предложенную работу.
За такую сумму и за такие сроки желающие будут.
за три дня получится поделка, которую показать и выбросить. Думается, мало кто возьмётся. разве что килобакс предложите

maggi14

ты не учел тестеров. Наверно, Глебиус не имел в виду, что 100 строчек отлаженного кода сопровождаются подробным самостоятельным тестированием

kruzer25

Блин, а я что, сверххуйатор?

ppplva

Наверное, на старте проекта скорость все-таки выше. Первые 500 строк вполне можно написать и оттестировать за 2 дня, особенно если код несложный.

maggi14

по моим ощущениям, 100 строчек правильного кода - это где-то 150-200 строчек компилируемого. плюс камменты

kruzer25

100 строчек правильного кода - это где-то 150-200 строчек компилируемого
Что-то я не врубился в твою фразу
плюс камменты
Ты что, с камментами пишешь?

maggi14

типа, так научили

yolki

а как же без них?
или ты думаешь, что твой код такой замечательный, самодокументированный?

kruzer25

Ну хз.. меня тоже учили... но писать каменты - это же тааак долго...
Хотя, "если этому пидарасу так надо" - можно потом расставить в ключевых местах, когда сам код уже будет готов.

kruzer25

или ты думаешь, что твой код такой замечательный, самодокументированный?
А что там может понадобиться менять левому человеку?
Кроме того, писать надотак, чтобы и безо всяких каментов было примерно понятно, что делатет данный конкретный кусок (например, переменные нормально называть).

aleks058

Да, именно самодокументированный. Надо такой писать. Всяко лучше, чем долбаные коментарии писать, а потом переписывать вместе с кодом (а ведь компилятор их не проверяет и изменять их обычно впадлу).

bleyman

Я как-то раз за ночь написал 1500 строк на С (синтаксический анализатор + интерпретатор по праку). И ничего, вполне работали.

bleyman

Ты не прав.
Уметь писать комментарии - очень полезно. Когда пишешь описание метода, это хорошо помогает осознать что именно нужно писать внутри. Когда пишешь комменты внутри кода, это помогает его дополнительно структурировать.
Опять же если хуйарить действительно много разного кода (а не 100 строк в день хотя бы несколько дней, то разные пояснительные комментарии позволяют съэкономить туеву хучу времени при дебаге/добавлении новой функциональности.
Я не знаю, мб это моя личная особенность, но пока я не изложу мысль в письменном виде, мне довольно тяжело её думать.
Вообще я жутко рад, что ещё до универа я делал один проект, который потом нужно было отдать каким-то немцам на поддержку, соответственно мне пришлось научиться внятно комментировать код (причём на английском).

polar_kiev

Хотя, "если этому пидарасу так надо" - можно потом расставить в ключевых местах, когда сам код уже будет готов.
- и что ты имел этим в виду?

yolki

я ж говорю, и такими темпами можно - но это "показал и выбросил"

kruzer25

То и имел - если тому, для кого всё это пишется, так уж необходимы комментарии - можно добавить.

kruzer25

Я не знаю, мб это моя личная особенность, но пока я не изложу мысль в письменном виде, мне довольно тяжело её думать.
Ага, похоже на то - мне нормально думать и не оформленную мысль, а вот излагать её письменно - очень тяжело.

polar_kiev

так такой вариант и нужен

vijrel7878

Монстр!
за себя могу сказать, что в среднем пишу не более 100 строк в день. Если не занимаюсь дебагом или не страдаю хуйней.


Я как-то раз за ночь написал 1500 строк на С (синтаксический анализатор + интерпретатор по праку). И ничего, вполне работали.

vijrel7878

чаще встречается, что комментарии свидетельствуют об общей кривости кода и необходимости рефакторинга. Хотя, естественно, правильные комментарии очень полезны для последующей поддрежки. Грань тонкая.
А читать красивый код гораздо приятнее, чем красивые комментарии

kruzer25

Я сейчас в среднем пишу около двух сотен строк - по работе и страдаю хуйнёй (пишу всякую хрень типа парсера шалонов и запутывания пхп-кода).
Но на это я трачу сейчас около 1-5 часов в день.

vijrel7878

количество строк очень зависит от того сколько их реально нужно писать. Бюрократия часто вносит коррективы
а вообще прдепочтительно, чтобы количесто переходило в качество еще в голове

kruzer25

количество строк очень зависит от того сколько их реально нужно писать. Бюрократия часто вносит коррективы
В смысле?
Оставить комментарий
Имя или ник:
Комментарий: