Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
skinex
4 / 4 / 4
Регистрация: 09.03.2013
Сообщений: 209
Завершенные тесты: 3
1

Какого типа такое приложение, где один размещает контент, другие его видят

07.08.2014, 18:54. Просмотров 1216. Ответов 23
Метки нет (Все метки)

Добрый день всем пользователям данного форума, решил попробывать реализовать приложение, но не могу понять что мне для этого нужно изучить, идея такова, что пользователь(Владелец) пишет новость, а пользователи(Клиенты) видят это сообщение, могут прокомментировать,могут оценить(поставить палец вверх или вниз...), я так понял это приложение сервер-клиентского типа с использованием базы данных, но мне кажется, что это не все, что мне нужно начать рыть чтобы реализовать подобное, возможно у кого-то есть опыт создания подобных приложений, надеюсь на вашу помощь.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.08.2014, 18:54
Ответы с готовыми решениями:

Приложение с кучей картинок и звука - где хранить контент
Вопрос такой. Хочу написать приложение путеводитель с аудиогидом. Соответственно, будет куча...

Какого типа это ДУ и как его решать
Подскажите пож-та какого типа это ДУ и как его решать: y'=x+x^2+y^2 Похоже на ур-е Бернулли y'...

Какого типа это уравнение и как его решить?
Какого типа это диффур. и как его решить (дайте, пожалуйста, хотя бы подсказку): dy/dx-y/x-8/x^2 ...

Какого типа это уравнение и как его решить - 1
Какого типа это ур-ие и как его решить (дайте, пожалуйста, хотя бы подсказку): yy'=-2xsec(y)

Какого типа это уравнение и как его решить - 2
Какого типа это ур-ние и как его решить (дайте, пожалуйста, хотя бы подсказку): x^2*dy/dx+y^2-2xy=0

23
Singleton
178 / 73 / 8
Регистрация: 27.12.2012
Сообщений: 404
07.08.2014, 18:56 2
http://pro.dtn.ru/delphi-net/2-net.html
0
quwy
Native x86
3345 / 2192 / 649
Регистрация: 13.02.2013
Сообщений: 7,245
07.08.2014, 18:58 3
skinex, такое лучше писать в виде веб-сервиса. И Делфи для этого не самый простой инструмент.
Возьмите готовую CMS и не парьтесь.
0
саша40
124 / 295 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
07.08.2014, 21:15 4
Автор, это называется СОЦИАЛЬНЫЕ СЕТИ! Тоже самое там. Не изобретай велосипед, как говорят у нас.
0
07.08.2014, 21:15
skinex
4 / 4 / 4
Регистрация: 09.03.2013
Сообщений: 209
Завершенные тесты: 3
07.08.2014, 21:49  [ТС] 5
Нет вы меня похоже не правильно поняли, возможно есть сходство с соц.сетью, но не много не то,по сути это почти похоже на твиттер, но Владелец один, допустим владелец написал стих выложил его в программе и все клиенты увидели его и по желанию прокомментировали его или оценили.
0
саша40
124 / 295 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
07.08.2014, 23:06 6
skinex, Вы хотите совмести соц. сеть и программы для общения(типа Skype). Подобные программы можно сделать, но это просто на сокетах не сделаешь. Тут понадобится база данных, место хранения выложенных материалов и т.п. Я пробовал в подобных целях использовать FTP-сервер, но он слишком медленно будет отрабатывать многочисленные запросы. Для бесплатных программ такое ограничение приемлимо, но не для платных. Подумайте где вы будете держать все эти данные и базу данных(по ней пользователей можно будет легко идентифицировать) и мы попробуем придумать что делать дальше.

Не по теме:

Skype зарабатывает некоторыми услугами, чтобы оплатить аренду и обслуживание своих серверов +на зарплату программистам хватает. :)


Не по теме:

P.S. Тема будет длиной.

1
mss
07.08.2014, 23:07
  #7

Не по теме:

skinex, может для начала учебник поштудировать ?)

0
skinex
4 / 4 / 4
Регистрация: 09.03.2013
Сообщений: 209
Завершенные тесты: 3
08.08.2014, 10:12  [ТС] 8
Саша40, я тоже думал что нужно использовать фтп-сервер как связку приложения и базы данных, но как быть с веб частью приложения... Да тема действительно будет громоздкой.
0
murderer
3468 / 1591 / 164
Регистрация: 06.10.2010
Сообщений: 3,510
08.08.2014, 11:55 9
Для начала нужно определиться откуда клиенты будут узнавать IP-адрес сервера.

Есть несколько вариантов:
1) Купить белый адрес и вписать его в клиент статически
2) Использовать динамический DNS сервер. При этом клиенты будут получать IP сервера по его доменному имени.
3) Использовать почтовый ящик в качестве DNS: при запуске сервер отправляет на почту пустое письмо, клиент при подключении берёт последнее доставленное письмо с почтового ящика и смотрит IP отправителя.

Реализовать всё это можно через WinSock. Т.к. в базе будет только одна таблица (дата новости, новость, кол-во лайков, кол-во дизлайков) не стоит использовать мощные средства разработки вроде mySQL - проще написать самому.
1
skinex
4 / 4 / 4
Регистрация: 09.03.2013
Сообщений: 209
Завершенные тесты: 3
08.08.2014, 12:23  [ТС] 10
Да с ip вообще проблем не должно быть, даже если нет белого ip, можно использовать сервис no-ip, или на крайняк vpn сервер, но я думаю база все же будет нужна, ибо с динамическими данными проще будет работать с помощью бд, но про WinSock прочитаю спасибо.
0
droider
Universal
Эксперт Pascal/Delphi
4537 / 2545 / 810
Регистрация: 04.10.2012
Сообщений: 9,267
08.08.2014, 12:55 11
Цитата Сообщение от саша40 Посмотреть сообщение
Я пробовал в подобных целях использовать FTP-сервер
как всегда - "гениальное решение". На самом деле, FTP-сервер - это не мусоросборник, как обычно считается,
а средство обмена информацией и временного размещения файлов.
Нужно сначала знать, что это такое, прежде чем пользоваться в таких целях.
0
саша40
124 / 295 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
08.08.2014, 14:04 12
droider, а у тебя есть идеи по лучше? Я смотрю в сторону бесплатных программ. Если у автора программа на столько популярна будет, что он сможет оплачивать аренду собственного сервера и заодно оправдает затраты на покупку накопителей для хранения данных, то туда всё можно поместить.

Кстати, автор, нашивками над WinSock являются многие компоненты Indy. Например, IdTCPClient, IdTCPServer для работы с протоколом TCP. Так же есть компоненты с подобным названием для работы с протоколами HTTP, UDP. У Synapce есть компоненты для работы с протоколом HTTPS.
0
skinex
4 / 4 / 4
Регистрация: 09.03.2013
Сообщений: 209
Завершенные тесты: 3
08.08.2014, 14:42  [ТС] 13
Про IdTCPClient и IdTCPServer слышал, в первом посте был пример реализации подобного приложения с помощью данных приложений, думаю работа с UDP протоколом не понадобится, надо будет лучше изучить компоненты библиотеки Indy, да и подумать нужно что использовать в качестве БД.
0
droider
Universal
Эксперт Pascal/Delphi
4537 / 2545 / 810
Регистрация: 04.10.2012
Сообщений: 9,267
08.08.2014, 14:50 14
Цитата Сообщение от саша40 Посмотреть сообщение
у тебя есть идеи по лучше?
murderer уже все сказал за меня.
Цитата Сообщение от саша40 Посмотреть сообщение
Я смотрю в сторону бесплатных программ
Хорошие FTP-сервера (если смотреть в твою сторону) - платные.
0
Игорь[Igor]
723 / 475 / 130
Регистрация: 24.12.2008
Сообщений: 3,924
11.08.2014, 03:50 15
В лучшем случае нужен сервер где-то на стороне который будет управлять и хранить информацию, и к ктоторому будут подключаться клиенты и сам владелец
0
skinex
4 / 4 / 4
Регистрация: 09.03.2013
Сообщений: 209
Завершенные тесты: 3
11.08.2014, 18:30  [ТС] 16
Я думал об этом, что нужен сервер на котором будет хранится база данных, тогда надо будет реализовать что-то типа каналов, на которых будут сидеть владельцы и к которым как раз будет подключаться клиенты.
0
саша40
124 / 295 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
11.08.2014, 21:48 17
skinex, все клиенты, мой друг, все. Новость или запись в ленте может разместить любой пользователь, другие же пользователи читают эту новость и оценивают её по своему(комментарий, оценка, палец вверх, палец вниз).
0
WestSide072
37 / 15 / 3
Регистрация: 15.07.2010
Сообщений: 326
11.08.2014, 23:56 18
не нужно ничего придумать. Всё гениальное - просто.
Тебе потребуется:
1. Домен, в любой зоне( можно от сервиса no-ip или .tk - домены раньше были бесплатные)
2. Хост с php+mysql , можно найти по 15р/месяц, на год еще дешевле.
3. Минимальные знания Delphi, PHP и MySQL.

Вот тебе моя вариация `простой` реализации стены, как в VK.Com.
Начнем с серверной части:
1. Тебе надо накодить скрипт для выдачи новостей. Выдача будет из базы данных MySQL, запросом типо
SQL
1
SELECT * FROM `stena` WHERE id>0 ORDER BY `id` ASC LIMIT 10
Запросом ты попросил выдать все столбцы, 10-ти последних записей, у которых столбцы id>0, в порядке возрастания.
Таблица `stena` должна иметь примерную структуру:
Код
id - int - для хранения порядкого и идентификационного номера записи на твоей "стене"
content - text - непосредственно для хранения контента для выдачи
- этого вполне достаточно.

2. Для лайков своя таблица `like` со структурой
Код
id_c - int - для хранения ID записи, которой принадлежит лайк
id_u - int - для хранения ID юзера, который поставил лайк к записи под ID id_c
Юзер ставит лайк - делаем INSERT в таблицу, записывая в id_c - id записи, и в id_u - id пользователя, поставившего лайк.
Юзер снимает лайк - делаем DELETE записи.

3. Ответы аналогично лайкам, но структура чуть-чуть меняется
Код
id - int - порядковый id комментария
id_c - int - для хранения ID записи, которой принадлежит лайк
id_u - int - для хранения ID юзера, который поставил лайк к записи под ID id_c
otvet - text - для хранения комментария, принадлежащего юзеру под id_u, к записи id_c
Когда происходит выдача, ты делаешь как минимум три запроса
1. SELECT * FROM `stena` WHERE id>0 ORDER BY `id` ASC LIMIT 10 #для получения всех записей
2. SELECT * FROM `like` WHERE id_c='id, полученный в результате первого запроса из столбца id' # для получения всех лайков
3. SELECT * FROM `otvet` WHERE id_c='id, полученный в результате первого запроса из столбца id' ORDER BY `id` ASC# для получения всех комментариев

Ну вот ты и имеешь простенький "блог" с кучей XSS и всяких уязвимостей)
Теперь, используя Delphi и Synapse, ты делаешь по таймеру запрос раз в 5 минут на страничку "стены" и получаешь все записи, парсишь регулярками и помещаешь все по своим местам.
Дело за малым: панель администрирования и регистрация пользователей, дабы ставить лайки и коментировать могли только зарегистрированные юзеры.
0
skinex
4 / 4 / 4
Регистрация: 09.03.2013
Сообщений: 209
Завершенные тесты: 3
15.08.2014, 09:16  [ТС] 19
WestSide072, Вы предлагаете это сделать на WEB странице, а средства delphi использовать как скрипт отловления записей? Я хотел бы реализовать это именно в delphi, а не переносить основу в WEB.
0
skinex
4 / 4 / 4
Регистрация: 09.03.2013
Сообщений: 209
Завершенные тесты: 3
29.08.2014, 19:49  [ТС] 20
Итак похоже некоторые пользователи меня недопоняли, вообщем это таки сервер-клиентское таки приложение, и не каких хостингов или доменов не нужно, существуют несколько владельцев, у каждого есть приложение сервер, с помощью которого они и запускают сам сервер, а клиенты уже к ним подключается, право постить имеют лишь владельцы, клиент имеет право лишь комментировать и лайкать или дислайкать, возможно и нужна база данных, но ее можно сделать файлом, с помощью описания типизированной структуры, как-то вот так, как написать код есть соображения, но какие для этого компоненты желательно использовать интересно, а также как настроить выдачу прав клиента и сервера.
0
29.08.2014, 19:49
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.08.2014, 19:49

Есть ли такое приложение чтобы я мог открывать другие приложения через Touch ID? (Например What’s app, Viber и так далее
Мне нужна это приложение чтобы ни кто не читал мои личные переписки WhatsApp, если есть то...

ASUS RT-N10E не видят другие устройства!
Здравствуйте! Проблема такая - интернет на ПК есть, он подключен к модему, а модем к роутеру. В...

Что такое nlite и где его взять?
Парни,привет!Извените за глупый вопрос,но что такое nlite и где его взять???За рание спасибо!!!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.