За последние 24 часа нас посетили 22620 программистов и 1039 роботов. Сейчас ищут 627 программистов ...

Чат php, сокеты

Тема в разделе "Прочие вопросы по PHP", создана пользователем bitrop, 18 мар 2011.

  1. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    Так и запишем - jquery знает очень плохо, изучать не хочет. В общем, хреновый инженер... но лаборант полезный ;)
    Давайте вы изучите jquery, а потом через месяцок вернетесь и продолжите.
    Только не говорите, что знаете уже - я в это никогда не поверю.
     
  2. Villan

    Villan Активный пользователь

    С нами с:
    13 апр 2011
    Сообщения:
    36
    Симпатии:
    0
    Правильней сказать - помню плохо.

    Знать там нечего -- библиотека как библиотека. Читай доку да применяй.

    Инженером не работал ни дня, так что ничего утверждать не могу.

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

    Давайте Вы не будете рассказывать мне, что мне делать.

    Такое ощущение, что Вы ГОРДИТЕСЬ знанием jQuery. Считая её освоение каким-то заслуживающим внимания свершением.

    Это радость неофита, MiksIr. Её лучше особо не показывать.
     
  3. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    Ну в общем горжусь, да. Я вообще знаниями горжусь, ибо это основной товар, который я продаю ;)
    Ну и вообще, приятно сделать одной строчкой за 5 секунд то, что вы будете рожать пол часа ;) Так что учитесь, учитесь.

    И да... чаты на сокетах бывают тоже ;)
     
  4. Villan

    Villan Активный пользователь

    С нами с:
    13 апр 2011
    Сообщения:
    36
    Симпатии:
    0
    То есть Вы преподаватель. Дело хорошее - сам по выходным преподаю.

    А по будням -- разрабатываю проекты -- мой основной товар.

    На самом деле я не настолько отстану -- но дело даже не в этом.

    Дело в том, что я поддерживаю свои проекты min год.

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

    Только не http- шные. Существование ICQ я не буду оспаривать.
     
  5. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.553
    Симпатии:
    631
    Внимание, стратегия.
    Выполнение скрипта ограничено по времени. Снимаем это ограничение:
    PHP:
    1.  
    2. <?php
    теперь php скрипт будет выполняться неограниченно долго.
    Но! Существует такая фишка, как обслуживание соединений. Благодаря ей, скрипт убивается, когда юзер отсоединяется.
    PHP:
    1. <?php
    ИДЕЯ:
    С помощью XHTTPRequest запускаем скрипт, который будет нам отдавать новые сообщения с помощью flush.
    Отдельный запрос придется делать только для постинга.
     
  6. Villan

    Villan Активный пользователь

    С нами с:
    13 апр 2011
    Сообщения:
    36
    Симпатии:
    0
    А сокеты и бесконечный скрипт тогда зачем?
     
  7. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    Нет, я практикующий консультант ;)
    Для любого программиста - знания - его основной товар.

    Да проблема в том, что эти мегабайты вы сами напладили. Вместо того, что бы сократить объем кода в десятки, а то и сотни раз, которые отлаживать будет проще. Именно это и есть суть всех фреймворков, коим является jQuery. И в PHP и в JS. Используя известный отлаженный фреймворк вы усокряете время разработки и удешевляете поддержку. И про участок кода вы забудете, ага. А потом кто-то другой будет с ним разбираться и материца. Или вам придется через пол года к этому участку вернуться и заново вспоминать, как работает и зачем.

    Напишите мне выборку всех элементов формы за исключением тех элементов, которые находятся в скрытых нодах (dispay:none). Что проще понять будет $("#formid input:visible") или ваши запутанные циклы или рекурсии, которые вам понадобятся, что бы пройти по дереву? А как вы будете определять, видим ли элемент? Например в jQuery в одной и зверсий нашли другой способ, который работает в 4 раза быстрее, а вы знаете этот способ?

    В общем что я меньше всего хочу делать, это убеждать воинствующих "хороших программистов"

    HTTP-шные. Сокет - это именно та штука, которая образуется, когда ваш браузер коннектица к серверу, ибо это то, как реализован tcp протокол, по которому уже бегают протоколы выше уровнем, хоть HTTP, хоть Oscar (ICQ). Касательно HTTP - протокол можно использовать для push сообщений вполне - хотя и не без оговорок.
     
  8. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    Привет, КЭП ;) Это и назвается comet :)
     
  9. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.553
    Симпатии:
    631
    да, только обычно предполагают единственную инстанцию comet-сервера, а я предлагаю каждому клиенту - свой сервер.
    достаточно сокета веб-сервера. И скрипт не бесконечный, а живущий только пока существует соединение.
     
  10. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    Ну, предполагается, ибо это разумное решение с точки зрения ресурсов. А вообще ничего такого нет, просто тупо http поток, а как он там на сервере реализован, это уже вторично. Но на хостинге, боюсь, все-равно веб-сервер отрубит по таймауту.
     
  11. Villan

    Villan Активный пользователь

    С нами с:
    13 апр 2011
    Сообщения:
    36
    Симпатии:
    0
    Товар - это то, что идёт на продажу. Продажа знаний - это преподавание.
    В остальных случаях продаётся всё-таки что-то иное.

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

    Идея костылей для хромых программистов по-своему благородна - иначе многим пришлось бы хлебнуть безработчинки.

    Уже 4-й год пошёл, и никаких проблем с js.

    Проблемы были в вылавливании ошибок в логике программы -- но их я плодил вместе с заказчиком.

    Задача дурацкая. Не встречающаяся в реальной жизни.

    Т.е. это трюкачество вроде езды на одноколёсном велосипеде.

    Но если вдруг понадобится: вот, развлечения ради
    [js] function stupidTask(f) //f -- ссылка на форму
    {
    var elements=new Array();

    var j=0;

    for (i=0;i<f.elements.length ; i++)
    {
    if(!inHidden(f.elements))
    {
    elements[j++]=f.elements;
    }
    }

    return elements;
    }
    //============================
    function inHidden(el)
    {
    var body=document.body;
    var hidden=false;
    while(el!=body)
    {
    if(el.parentNode.style.display=='none')
    {
    hidden=true;
    break;
    }
    el=el.parentNode;
    }
    return hidden;
    }
    [/js]

    Ушло 13 минут (засекал!)

    Только он умирает, послав браузеру едиснвенный в своей жизни Response
     
  12. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    Нет.
    Нет.
    Печально, за 4 года можно много узнать.
    Откуда вы знаете, что я могу знать, а что не могу?
    Такого тупого ответа я даже не ожидал. Думал, просто спорите в силу консервативности, а тут все хуже.
    Удачи, вопрос закрыт.
     
  13. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    13 минут, 30 строчек, две функции, модификация массива, по которому идет цикл... в общем полный набор для веселой отладки. А те, кто участвует в создании jQuery, кстати, нашли другой - гораздо более красивый способ. Но вас это не должно интересовать... потуги хромых программистов - зачем они вам, вы же знаете ДОМ ;)
     
  14. Villan

    Villan Активный пользователь

    С нами с:
    13 апр 2011
    Сообщения:
    36
    Симпатии:
    0
    Вы не видели моего проекта. Но смело о нём рассуждаете.

    Вот эта смелость -- болтать о том, чего в глаза не видел -- всегда настораживает.
     
  15. Villan

    Villan Активный пользователь

    С нами с:
    13 апр 2011
    Сообщения:
    36
    Симпатии:
    0
    Неправда. Посмотрите на код ещё раз.
     
  16. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Villan, тут тема другая. А споришь ты с человеком с усыхающим мозгом, который тут со всеми спорит. Не стоит.
     
  17. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    О, да, этого нет, извиняюсь.
     
  18. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    Вы бы шли лучше, дальше время доступа к сферическому коню считали ;)
     
  19. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    Про мегабайты кода вы говорили.
     
  20. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    костыли - это жить без jquery и подбных фреймворков. такие вещи давно уже должны быть в стандарте, и только благодаря таким штукам мы можем ходить а не ползать.
     
  21. titch

    titch Активный пользователь

    С нами с:
    18 дек 2010
    Сообщения:
    847
    Симпатии:
    0
    и да, и нет. я бы сказал, что это универсальный инструмент, надеюсь, что никто не будет спорить. если я вижу более тонкое решение, которое будет работать быстрее, но которое нужно писать самому, то я взвешу: надо_писать_быстрокод vs. готовое_взять_среднебыстрокод. где больше плюсов, то и заюзаю
     
  22. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    А откуда уверенность, что сам напишешь "лучше"? Вот пример живой - человек написал код, который будет работать медленнее, чем то решение, что нынче заложено в jquery. Только потому, что тут одна голова консерватора, а там десятки активных, ищущих новые решения.
     
  23. Villan

    Villan Активный пользователь

    С нами с:
    13 апр 2011
    Сообщения:
    36
    Симпатии:
    0
    Бывают и большие проекты, которые строятся несколько лет по заказу крупных организаций.

    И как ни оптимизируй - получаются мегабайты.
     
  24. Villan

    Villan Активный пользователь

    С нами с:
    13 апр 2011
    Сообщения:
    36
    Симпатии:
    0
    Весь мой опыт говорит об обратном.
     
  25. Villan

    Villan Активный пользователь

    С нами с:
    13 апр 2011
    Сообщения:
    36
    Симпатии:
    0
    Откуда такая уверенность? Вы сравнивали?