Поддержка websockets

Новые релизы, обновления и т.п.

Модератор: immortal

lexincton
Сообщения: 44
Зарегистрирован: Вс ноя 08, 2020 12:33 pm
Благодарил (а): 4 раза
Поблагодарили: 2 раза

Re: Поддержка websockets

Сообщение lexincton » Вс апр 25, 2021 6:17 pm

На винде работает нормально, предположу, что имеет место быть общий косяк, возможно, связанный именно с малиной.
lexincton
Сообщения: 44
Зарегистрирован: Вс ноя 08, 2020 12:33 pm
Благодарил (а): 4 раза
Поблагодарили: 2 раза

Re: Поддержка websockets

Сообщение lexincton » Сб май 01, 2021 8:47 pm

Товарищи с малиной, неужели у всех работает???
У меня сокеты на чистом образе 4.44 даже не взлетают и аналогично после обновления мажора в нем!
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: Поддержка websockets

Сообщение fandaymon » Сб май 01, 2021 10:21 pm

lexincton писал(а):
Сб май 01, 2021 8:47 pm
Товарищи с малиной, неужели у всех работает???
У меня сокеты на чистом образе 4.44 даже не взлетают и аналогично после обновления мажора в нем!
За всех не скажу, но у меня на малинке вебсокеты прекрасно работают. Правда я не накатывал образ, а ставил МДМ вручную.
lexincton
Сообщения: 44
Зарегистрирован: Вс ноя 08, 2020 12:33 pm
Благодарил (а): 4 раза
Поблагодарили: 2 раза

Re: Поддержка websockets

Сообщение lexincton » Сб май 01, 2021 11:04 pm

Тут аппаратная часть как-то может быть причастна?
Все образы одинаково не работают, хоть ручные, хоть готовые.
EKrivonogov
Сообщения: 7
Зарегистрирован: Ср фев 07, 2018 8:00 am
Благодарил (а): 0
Поблагодарили: 3 раза

Re: Поддержка websockets

Сообщение EKrivonogov » Чт май 06, 2021 10:52 am

У меня образ от Сергея на малине. После обновления, когда перенесли с сервера на клиентский компьютер таймеры подсчёта времени в простых устройствах, стало очевидно, что вэбсокеты работают совсем плохо. То есть практически не работают. Смоке предложил внести изменения в файл lib/websockets/server/server.php несколько изменений, в строках увеличить цифры:
$server->setMaxClients(500);
$server->setMaxConnectionsPerIp(1000);
$server->setMaxRequestsPerMinute(50000);
Вебсокеты начали работать, но то же надёжности нет, через какое то время информация перестаёт приходить. При всём этом все циклы работают нормально.
После перезапуска цикла cycle_websockets, работа сокетов восстанавливается, но опять не надолго.
Был на последнем мастере, сейчас на последней альфе. Работает одинаково.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Поддержка websockets

Сообщение nick7zmail » Чт май 06, 2021 11:30 am

Это хреново...если увеличение цифр помогло - значит есть косяк в клиентской части...идёт активное перезаполнение стэка подключений...по факту должно быть - 1 страница - 1 клиент. Раньше оно так отлично работало...по скольку я давно не обновлялся - у меня и сейчас работает)) А вообще надо смотреть логи цикла вебсокетов...если память не изменяет - а логе писало сколько клиентов подключено, когда клиент подключился и т.п.

Отправлено с моего Xperia XZ1 Compact через Tapatalk

Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 898 раз

Re: Поддержка websockets

Сообщение SmoKE_xDDD » Чт май 06, 2021 12:13 pm

nick7zmail писал(а):
Чт май 06, 2021 11:30 am
Это хреново...если увеличение цифр помогло - значит есть косяк в клиентской части...идёт активное перезаполнение стэка подключений...по факту должно быть - 1 страница - 1 клиент. Раньше оно так отлично работало...по скольку я давно не обновлялся - у меня и сейчас работает)) А вообще надо смотреть логи цикла вебсокетов...если память не изменяет - а логе писало сколько клиентов подключено, когда клиент подключился и т.п.

Отправлено с моего Xperia XZ1 Compact через Tapatalk
Ни серверную, ни клиентскую часть не трогали. Количество клиентом можно посмотреть тут: ThisComputer.WSClientsTotal
У меня стоит nginx + proxy WS и все работает на 3 системах нормально. Вопрос в ваших кривых конфигах веб сервера и сервера в принципе.
А так как сервер WS написан на PHP еще и php.ini 100% у большинства не настроен. И не нужно мне говорить про готовые сборки под nix - они поголовно все кривые или недонастроенные.
EKrivonogov
Сообщения: 7
Зарегистрирован: Ср фев 07, 2018 8:00 am
Благодарил (а): 0
Поблагодарили: 3 раза

Re: Поддержка websockets

Сообщение EKrivonogov » Чт май 06, 2021 12:33 pm

ThisComputer.WSClientsTotal: 1
EKrivonogov
Сообщения: 7
Зарегистрирован: Ср фев 07, 2018 8:00 am
Благодарил (а): 0
Поблагодарили: 3 раза

Re: Поддержка websockets

Сообщение EKrivonogov » Чт май 06, 2021 12:33 pm

Если не секрет, что и где нужно до настроить? или на что обратить внимание?
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Поддержка websockets

Сообщение nick7zmail » Чт май 06, 2021 2:05 pm

SmoKE_xDDD писал(а):
Чт май 06, 2021 12:13 pm
Ни серверную, ни клиентскую часть не трогали.
Тем более)) скорее всего тогда и после обновления наверн будет работать...
Мои конфигиПоказать
Вот мой php.ini

Код: Выделить всё

; core PHP settings
upload_max_filesize=100M
post_max_size=128M
short_open_tag=on
memory_limit=256M
max_execution_time=300
date.timezone = "UTC"
php_admin_value log_errors=0


и php-fpm.conf

Код: Выделить всё

[global]
daemonize = no
error_log = /proc/self/fd/2

emergency_restart_threshold = 10
emergency_restart_interval = 1m
process_control_timeout = 10s

[www]
clear_env = no
catch_workers_output = yes
access.log = /proc/self/fd/2
listen.backlog = -1
;listen.owner = nginx
;listen.group = nginx
user = www-data
group = www-data
listen = /var/run/php-fpm.sock
;listen = 127.0.0.1:9000

; Ondemand
pm = static
pm.max_children = 5
pm.max_requests = 200

; TODO fixe logn processes
request_terminate_timeout = 3600s
rlimit_files = 65535
rlimit_core = unlimited
chdir = /
env[HOSTNAME] = $HOSTNAME
env[TMP] = /dev/shm
env[TMPDIR] = /dev/shm
env[TEMP] = /dev/shm
ну и default из /etc/nginx/sites-enabled (очень долго его составлял, выдёргивал с разных дистров по кусочку, действительно SmoKE_xDDD прав - не всё и не везде в готовых сборках рабочее)

Код: Выделить всё

server {
	listen 80 default_server;
	listen [::]:80 default_server;
	index index.php index.html index.htm ;
	server_name 127.0.0.1 localhost _;
	set $MAGE_ROOT /var/www/html;
	error_log  /var/log/nginx/error.log;
	access_log /var/log/nginx/access.log;
	root $MAGE_ROOT;

	charset utf-8;
 
	location ~ \.html {
		if (!-e $request_filename){
			rewrite ^(.*)$ /nf.php;
		}
	}

	location ~ [^/]\.php(/|$) {
		include snippets/fastcgi-php.conf;
		#fastcgi_pass 127.0.0.1:9000;
		fastcgi_pass /var/run/php-fpm.sock;
	}

	location /api {
		rewrite ^(.*)$ /api.php;
	}	

	location ~ /\.ht {
		deny all;
	}

	location /config.php {
		deny all;
	}

	location /debmes.txt {
		deny all;
	}
}
Если есть предложения/исправления - скажите, поправим)
За это сообщение автора nick7zmail поблагодарил:
homester (Сб май 08, 2021 1:46 pm)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Ответить