Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Другие хабы _ Хаб на PHP или на Perl

Автор: omen 18.7.2010, 21:34

Существует ли хабы на PHP или Perl языках ?Если да то какие ?Если нет то возможно-ли написать их ?

Автор: HackFresse 19.7.2010, 11:21

На пхп такое теоретически возможно (например, с использованием http://mydc.ru/r/?http://www.chabotc.com/phpsocketdaemon/ -- "To deal with 1000's of concurrent, always on (comet aka hanging iframe) http (server) connections, and an equal amount of IRC client connections, plus being able to interpret and parse and delegate all the messages and events, i needed a very fast, stable, flexible and easy to use 'daemon' library for PHP."), однако изврат, и делать вряд-ли кто-то возьмется.

Автор: Ksan 19.7.2010, 13:09

На Питоне есть какой-то хаб.. big_smile.gif

Автор: Saymon 19.7.2010, 13:23

http://mydc.ru/r/?http://code.google.com/p/viperhive/ - он на питоне. 2 минуты занимает установка под венду, под линукс не знаю big_smile.gif

Автор: omen 19.7.2010, 16:01

Почему,нету написаного хаба нa PHP unhappy.gif

Автор: Setuper 19.7.2010, 16:06

Потому что хаб на php - это не хаб, а уродство big_smile.gif

Автор: omen 19.7.2010, 16:11

Просто есть у меня хостинг,на него нужно присодить хаб)))

Автор: Nickolya 19.7.2010, 17:00

Вы занимаетесь ерундой, вот что я вам скажу. Если хостинг обычный - просто забудь. Даже если бы был хаб на пхп, то тебя просто бы попросили переехать из-за нагрузки на сервер. Держать хаб надо на VDS (VPS) или на отдельном сервере. Хаб - программа, а не скрипт, поэтому то что ты хочешь реализовать невозможно.

Автор: pro 20.7.2010, 3:28

на перле в Net::DirectConnect есть в examples маленький, тупенький но рабочий adc хабик.
для икспириментов самое оно.

Автор: DEN 007 20.7.2010, 22:19

делать хаб скриптах то понятное дело уродство и немереная нагрузка так как скрипты созданы не для этого...

А вот теперь у меня вопрос встречал ли кто скрипт для проверки фаила, тобишь если юзер офф то он показывает к примеру красный крестик а если расшарен к примеру у 7 юзеров то написано к примеру 7 источников... прост не хочется изобретать велосипед)))

Автор: Ksan 20.7.2010, 22:29

Опиши свою просьбу другими словами. А то не понять, чего тебе надо.

Автор: Saymon 20.7.2010, 22:40

т.е как я понял, человеку нужен поисковик файлов. Если файл не найден, нужно показать что его где-то там нет.
Если же он где-то нашёлся, нужно показать у скольки человек есть данный файл.

Автор: pro 20.7.2010, 23:16

так чтоль ?
http://mydc.ru/r/?http://dc.proisk.ru/2260996?ext=mpeg&glueg1=or&name=UFO-nellis-airbase&tiger1=TJLACA2I2VNPM6B6HCJLJLMZTO2VZWSKRQVF2II

Автор: DEN 007 21.7.2010, 5:49

Цитата
т.е как я понял, человеку нужен поисковик файлов. Если файл не найден, нужно показать что его где-то там нет.

Мне не нужен поисковик, так сказать...

Нужен небольшой скриптик, который можно будет прикрутить к магнет раздаче... То есть юзер нажмет кнопочку проверить файл =) (но это уже интерфейс)) ), так как если проверять сразу при отображении страницы, будет сильно тормозить...

В принципе достаточно функционала который просто проверит наличия файла в сети, в идеале конечно можно и сколько источников big_smile.gif

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

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

как то вот так... Ksan описал свою просьбу...

Цитата
так чтоль ?
http://mydc.ru/r/?http://dc.proisk.ru/2260996?ext=mpeg&g...TO2VZWSKRQVF2II


да что то подобное...


Автор: nail 22.7.2010, 0:59

Были мысли про хаб на php, но думаю народа он будет держать значительно меньше, чем хаб на c++. Хотя у php скрипта относительно программы на с++ наверно разница в нагрузке определяется только постоянной компиляцией самого скрипта и мелочами типо автоматической конвертации типов переменных... В случае с постоянной работой - компиляция отпадает.
И на php не всё можно реализовать. К примеру многопоточности нет, и разных ... "тонких" вещей.

Цитата
Потому что хаб на php - это не хаб, а уродство

Я так понял вы подразумеваете повышенную нагрузку на сервер или ещё что-то?

Вот DC клиент мне удалось написать, работает очень даже неплохо - но без интерфейса это действительно уродство. А хабу интерфейс не нужен...

DEN 007 о таком думал, написать несложно, но меня смущает то, что новостей на сайте становится всё больше и посещаемость постоянно растёт -> будет постоянно увеличиваться частота таких вот поисковых запросов. А поскольку никакой новый процессор не заставит работать хаб быстрее - то это всё быстро упрётся в тупик. При этом если на процессор нагрузка будет расти наверно ~ линейно, то трафика будет уходить+приходить всё больше и больше экспоненциально.
Это тоже самое, что написать вычислитель ратио каждого пользователя - на тысячу пользователей ещё можно, может быть даже на пять, но дальше нагрузка будет подобна нагрузке на серверы яндекса. Клиент должен сам вычислять эти параметры и отсылать на хаб или на сторонний сервер статистики.

Автор: DEN 007 22.7.2010, 2:27

Цитата
DEN 007 о таком думал, написать несложно, но меня смущает то, что новостей на сайте становится всё больше и посещаемость постоянно растёт -> будет постоянно увеличиваться частота таких вот поисковых запросов. А поскольку никакой новый процессор не заставит работать хаб быстрее - то это всё быстро упрётся в тупик. При этом если на процессор нагрузка будет расти наверно ~ линейно, то трафика будет уходить+приходить всё больше и больше экспоненциально.
Это тоже самое, что написать вычислитель ратио каждого пользователя - на тысячу пользователей ещё можно, может быть даже на пять, но дальше нагрузка будет подобна нагрузке на серверы яндекса. Клиент должен сам вычислять эти параметры и отсылать на хаб или на сторонний сервер статистики.


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

Юзер приходит на сайт жмакает проверить файл, ура файл расшарен у 40 человек тут мы понимаем что если расшарен у 40 человек значит нет смысла его проверять следующий раз (разъясню к примеру если файл расшарен у 10 человек то мы можем повторно не проверять 1 час, если же источников к примеру 40 то мы не проверяем уже 3 часа ну и т.д.) опять же можно учесть что к ночи юзеров становится куда меньше и мы понимаем что к ночи нужно файл будет проверять более тщательнее, естественно нагрузка на хаб в ночное время куда меньше чем днем и вечером...

Естественно это нужно протестировать более точно вычислить все результаты тестов, тогда сможем снизить нагрузку и облегчить жизнь юзверей...

Вообще целесообразность данной опции скорей для раздач так сказать истории... Для новинок которые скачиваються тоннами это вообще не целесообразно убиваем тока трафик и процессорное время))

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

P.S. вообще готов помочь во всем, но вот тока как оптимально обратится к хабу и вернуть результат...

Автор: truth 22.7.2010, 8:15

Вам сюда => http://mydc.ru/r/?http://userside.org.ua/forum/index.php?showtopic=228

Автор: HackFresse 22.7.2010, 9:50

Цитата
Вот DC клиент мне удалось написать, работает очень даже неплохо

а что получившийся клиент делать умеет?

Автор: nail 22.7.2010, 13:48

DEN 007 да само сабой я говорил это с рассчётом на кеширование и на то, что обновление статистики должно происходить в час пик, когда больше всего источников( http://mydc.ru/r/?http://dcmagnets.ru/HUBstat/example7.png ) это где-то в промежутке от 8 до 11 вечера. Поначалу будет нормально, а потом нехорошо.

По нажатию кнопочки сделать сложнее и нажимать её буду чаще всего не в промежуток от 8 до 11 вечера - а значит последующие посетители будут видеть недействительную картину. Но тогда нагрузка распределится более равномерно и проблем с ней быть не должно. Меня этот вариант не устроил.
Хаб и так очень большой и едва справляется с нагрузкой, луше обойтись без данной функции.

Цитата
а что получившийся клиент делать умеет?
в одно время сидел как саппорт-бот на хабе, отвечал в общий чат на вопросы пользователей, и в личку всякую фигню. Сейчас сидит считает статистику, также иногда через него делаю поисковые запросы. Впринципе можно сделать чтобы скачивал файлы и вобще выполнял все функции клиента.

Автор: DEN 007 22.7.2010, 15:29

Цитата
Вам сюда => http://mydc.ru/r/?http://userside.org.ua/forum/index.php?showtopic=228


Это конечно не решение... когда на хабе больше 1000 это уже под уту систему надо будет ставить отдельный серв, ну хотя хз надо будет попробовать, и ктомуже у меня сервак на юникс системе(

Цитата
Меня этот вариант не устроил.


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

и кстати не потеме но всетаки какой лучше использовать софт цель: Создать фтп директорию к которой подрубается юзер и заливает по фтп файл, который затем расшаркивается система нужно на юникс...

Автор: nail 22.7.2010, 15:34

Цитата
Вам сюда => тыц

Светую самому написать заново...
- > в юзербаре логотип моего сайта ))

Цитата
и кстати не потеме но всетаки какой лучше использовать софт цель: Создать фтп директорию к которой подрубается юзер и заливает по фтп файл, который затем расшаркивается система нужно на юникс...

Несовсем понял что имелось ввиду. PHP может закидывать файл на фтп. Только пока мне не известны способы прямого закидывания. Сначала файл надо сохранить на винч серва, а потом можно скопировать его на фтп.

Автор: HackFresse 22.7.2010, 16:54

Цитата
в одно время сидел как саппорт-бот на хабе, отвечал в общий чат на вопросы пользователей, и в личку всякую фигню. Сейчас сидит считает статистику, также иногда через него делаю поисковые запросы. Впринципе можно сделать чтобы скачивал файлы и вобще выполнял все функции клиента.

а можешь подсказать логику отправки поискового запроса? т.е. у меня есть бот, который просто висит на хабе и смотрит чат и поиск, как заставить его реагировать на сообщения, тоже представляю. а как скормить команду( поисковый запрос тот же самый)? делать переодическое считывание файла/запрос mysql?
и как скачать файл-лист? отправить команду системе запустить еще 1 пхп-скрипт, заточенный на скачивание файла, и смотреть его состояние?

Автор: DEN 007 22.7.2010, 17:26

Цитата(nail @ 22.7.2010, 16:34) *
Светую самому написать заново...
- > в юзербаре логотип моего сайта ))


Несовсем понял что имелось ввиду. PHP может закидывать файл на фтп. Только пока мне не известны способы прямого закидывания. Сначала файл надо сохранить на винч серва, а потом можно скопировать его на фтп.



Ну допустим, а что тебе жалко?? да и вообще магнитик это знак дс сети... и ведь логотип то не рисовался исключительно для вас (Я его уже видел где-то...) и видны среды вырезания... да ладно не будим сорится...

И мой тебе совет некогда не делайте прозрачные пнг на логотип или подобные вещи... нужно делать не прозрачное тогда это будет куда тюжелее вырезать..)

Я кстати видал движок на пхп и перле, для торент сетей так сказать... он достаточно мощный и хорошо используется, из него вроде бы на летбите делали торент загрузку...
Его вполне можно переписать под хабы...

Автор: nail 22.7.2010, 17:59

HackFresse ммм, не вижу никакой проблемы, по протоколу просто отправляешь сформированную строку а потом ловишь ответ от хаба....это в пассивном режиме естесно.
Насчёт приёма файла, никогда этого не делал. Тут сперва нужно уточнить что необходимо создать отдельное соединение с пользователем. На первый взгляд в рамках одного скрипта это делать опасно, т.к. если он повиснит ненадолго - может разорваться соединение с хабом. Надо изучить этот вопрос поглубже, а так яб делал эту операцию отдельным скриптом -> отправил ему запрос типо скачать файллист с такого-то ипа и работаешь дальше. Проверять выполнил ли он данную задачу осноному скрипту нет смысла.

DEN 007, не, не жалко, просто в юзербаре не просто магнитик, а именно шапка моего сайта, но я не против big_smile.gif
Насчёт переписки, это дело очень сложное и лично я в своих проектах в конечном итоге переписывал весь код полностью. Лучше всегда писать сначала, т.к. с первого взгляда не определишь школьник писал или профессионал. И потом зае..ся ошибки в алгоритме искать.

Автор: HackFresse 22.7.2010, 18:27

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

Но лучше , думаю, научиться использовать перлового бота от pro , вот только бы научиться его допиливать и затачивать "под свои цели"...

Автор: nail 22.7.2010, 19:34

PHP зависнуть не может, там по умолчанию максимальное время выполнения 30 секунд. Можно задать любое другое. По истечению этого времени скрипт перестаёт выполнятся и выводит ошибку timeout...

Тут разработчики флая бывают?

Автор: DEN 007 22.7.2010, 23:52

Цитата
Насчёт переписки, это дело очень сложное и лично я в своих проектах в конечном итоге переписывал весь код полностью. Лучше всегда писать сначала, т.к. с первого взгляда не определишь школьник писал или профессионал. И потом зае..ся ошибки в алгоритме искать.


понимаешь прост не хочу изобретать велосипед, вот скора будет время, полажу по забугорным форумам малали чего найду..) обычно я там нахожуbig_smile.gif
Ну я могу убрать магнитик с юзербара... есть свой логотип, прост в свое время понравился магнитик..big_smile.gif

Автор: omen 3.8.2010, 7:29

Цитата(pro @ 20.7.2010, 5:28) *
на перле в Net::DirectConnect есть в examples маленький, тупенький но рабочий adc хабик.
для икспириментов самое оно.
Cсылочку можно на данное чудо ? still_dreaming.gif

Автор: Enyby 3.8.2010, 8:36

На PHP хостинге особо не разгонишся. Во-первых хаб на php будет жутко тормозить. Во вторых, для его запуска потребуется скорее крон, чем веб интерфейс.
А так, в принципе, идея реализуемая. Если писать на неблокирующих сокетах, то выйдет некое подобие многопоточности. Но придется все делать единым скриптом. Распараллелить особо не получится.

Резюме: человек 100 такое чудо может и потянет, и то не факт.

P. S. И да, в любом слуае, то что выйдет это будет обрезок. Ни тебе скриптов, ни тебе всяких полезностей. Что-то вроде подключиться, чатиться и качать, не более того.
И еще, в php есть ограничение на максимальный объем памяти, так что по превышении его хаб попросту отвалится.

Цитата(omen @ 3.8.2010, 6:29) *
Cсылочку можно на данное чудо ? still_dreaming.gif

Не знаю как у вас, у меня при просмотре этой темы, в самом низу страницы, находится модуль похожие темы и там представлена ссылка:
http://mydc.ru/topic3041.html

Автор: omen 3.8.2010, 18:33

Как его настроить ?)))