Постоянный коннект к mysql + socket io - Форум успешных вебмастеров - GoFuckBiz.com - Страница 2
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB88.6852
BTC/USD68370.4511
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 10.04.2017, 19:05
Start Post: Постоянный коннект к mysql + socket io 
  #11
Soba
Senior Member
 
Регистрация: 02.05.2014
Сообщений: 628
Бабло: $257430
По умолчанию

Доброго дня сила гоуфака!

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

Мне необходимо в реальном времени показывать регистрации новых пользователей, участвующих в турнире.

Пока что я использую setInterval, но не думаю, что это правильный вариант.

Сервер:

PHP код:
io.on('connection', function (socket) { 

    
setInterval(function() { 
    
db.query('SELECT * FROM tournament WHERE status = 0 ORDER BY id DESC', function(errrowsfields) {
            
        if(
rows.length >= 1){

            
            var 
reg '';
            for (var 
0rows.lengthi++) {
                
reg += escape(rows[i].name)+'<br/>';
            }

            
io.emit('reg', { regreg });

        }else {
            var 
reg 'no regs';
            
io.emit('reg', { regreg });
        }

    });
    }, 
1000);

}); 
Как видно setInterval каждую секунду тянет данные с мускула и отправляет данные по сокетам на клиент.
Soba вне форума  
Старый 11.04.2017, 14:26   #12
Hector
hustle
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,890
Бабло: $1717315
Отправить сообщение для Hector с помощью Jabber
По умолчанию

xanxy, что форкать? Какие тараканы?
Hector вне форума  
Старый 11.04.2017, 14:54   #13
xanxy
Senior Member
 
Регистрация: 18.08.2010
Сообщений: 360
Бабло: $66120
По умолчанию

Цитата:
Сообщение от Hector Посмотреть сообщение
xanxy, что форкать? Какие тараканы?
Ты же предлагаешь просто вести счетчик внутри процесса, скрипта на ноде. При реге просто делать инкремент аджаксом опрашивать. Или просто уведомлять клиентов о новом пользователе. Как то так я тебя понял.

Все хорошо, до тех пор пока скрипт/сервер, работает в один поток/процесс. А когда доходит до форков, то нужно какое то общее хранилище для всех процессов. Внутренняя переменная уже не подходит.
xanxy вне форума  
Старый 11.04.2017, 15:06   #14
Hector
hustle
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,890
Бабло: $1717315
Отправить сообщение для Hector с помощью Jabber
По умолчанию

xanxy, у меня для этого Redis. Я просто ТС предложил пока потренироваться чисто на сокетах. В продакшн такое лучше не запускать.
Hector вне форума  
Старый 11.04.2017, 18:45   #15
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 15,884
Бабло: $1863625
По умолчанию

Цитата:
Сообщение от Soba Посмотреть сообщение
Цитата:
Сообщение от веломан Посмотреть сообщение
Цитата:
Сообщение от Soba Посмотреть сообщение
на ajax + php я уже делал и хочу вообще не использовать пых.
а вот этот велосипед далеко не поедет
вот именно, из за этого я вникаю в нод и сокеты.
ты не понял
отказываясь от ajax+php ты изобретаешь велосипед с квадратными колёсами
php может эффективно решить любую задачу (и не только в вебе)
демоны (те же вебсокеты) на нём прекрасно держат по 50-100к коннектов в секунду
веломан вне форума  
Старый 11.04.2017, 18:59   #16
voloshin
Member
 
Регистрация: 28.02.2017
Сообщений: 85
Бабло: $19440
По умолчанию

На ноде по теории есть ещё и клиентская библиотека, которая подписывается на канал и может через вебсоккет получать обратно данные. Видел где-то реализацию, но смогу только к ночи погуглить
voloshin вне форума  
Старый 11.04.2017, 19:25   #17
Hector
hustle
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,890
Бабло: $1717315
Отправить сообщение для Hector с помощью Jabber
По умолчанию

веломан, скинь сокет библиотеку на php
Hector вне форума  
Старый 11.04.2017, 20:35   #18
isoff
Senior Member
 
Регистрация: 16.09.2008
Сообщений: 637
Бабло: $144256
По умолчанию

Цитата:
Сообщение от Hector Посмотреть сообщение
веломан, скинь сокет библиотеку на php
Наверное имеет в виду что то типа этого https://habrahabr.ru/post/168059/

Цитата:
Сообщение от веломан Посмотреть сообщение
ты не понял
отказываясь от ajax+php ты изобретаешь велосипед с квадратными колёсами
php может эффективно решить любую задачу (и не только в вебе)
демоны (те же вебсокеты) на нём прекрасно держат по 50-100к коннектов в секунду
Дичь ты какую советушь использовать пхп в серверной части в данном случае. Нахрена это делать когда есть socket.io ?
isoff вне форума  
Старый 11.04.2017, 22:15   #19
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 15,884
Бабло: $1863625
По умолчанию

Цитата:
Сообщение от Hector Посмотреть сообщение
веломан, скинь сокет библиотеку на php
libevent, в pecl есть

Цитата:
Сообщение от isoff Посмотреть сообщение
Цитата:
Сообщение от Hector Посмотреть сообщение
веломан, скинь сокет библиотеку на php
Наверное имеет в виду что то типа этого https://habrahabr.ru/post/168059/
нет, он громоздкий
и местами убогий
свой проще написать

Цитата:
Цитата:
Сообщение от веломан Посмотреть сообщение
ты не понял
отказываясь от ajax+php ты изобретаешь велосипед с квадратными колёсами
php может эффективно решить любую задачу (и не только в вебе)
демоны (те же вебсокеты) на нём прекрасно держат по 50-100к коннектов в секунду
Дичь ты какую советушь использовать пхп в серверной части в данном случае. Нахрена это делать когда есть socket.io ?
потому что socket.io это вчерашний день
websocket-ы на пхп реальность и там ничего сложного на самом деле
(ну если шаришь)

Последний раз редактировалось веломан; 11.04.2017 в 22:21.
веломан вне форума  
Старый 11.04.2017, 22:45   #20
isoff
Senior Member
 
Регистрация: 16.09.2008
Сообщений: 637
Бабло: $144256
По умолчанию

Цитата:
Сообщение от веломан Посмотреть сообщение
потому что socket.io это вчерашний день
websocket-ы на пхп реальность и там ничего сложного на самом деле
(ну если шаришь)
Ты вообще понимаешь что ты советуешь в данном случае?
Нахрена создавать на пустом месте "геморой" реализуя серверную часть на пхп?
Почему ты считаешь что nodejs это какое то убожество.
Как раз в данном случае и будет велосипед с квадратными колесами если написать серверную часть на пхп. Это же надо будет на клиенте реализовать на JS подобие socket.io, на сервере тоже самое только на пхп.
Поэтому и говорю что ты советуешь дичь) Чем тебе nodejs не угодила?
isoff вне форума  
Старый 11.04.2017, 22:51   #21
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 15,884
Бабло: $1863625
По умолчанию

Цитата:
Сообщение от isoff Посмотреть сообщение
Цитата:
Сообщение от веломан Посмотреть сообщение
потому что socket.io это вчерашний день
websocket-ы на пхп реальность и там ничего сложного на самом деле
(ну если шаришь)
Ты вообще понимаешь что ты советуешь в данном случае?
Нахрена создавать на пустом месте "геморой" реализуя серверную часть на пхп?
Почему ты считаешь что nodejs это какое то убожество.
Как раз в данном случае и будет велосипед с квадратными колесами если написать серверную часть на пхп. Это же надо будет на клиенте реализовать на JS подобие socket.io, на сервере тоже самое только на пхп.
Поэтому и говорю что ты советуешь дичь) Чем тебе nodejs не угодила?
спроси у гугла уже, что ты доебался
или мне за тебя скопипастить сюда все недостатки ноды
и у того же гугла полно готовых демонов под вебсокеты + js-код
для поциэнта, в данном случае, и то, и то = геморрой, он в обоих предметах не разбирается
так пусть лучше сразу делает правильно
веломан вне форума