dimikot / dklab_realplexor Goto Github PK
View Code? Open in Web Editor NEWComet server which handles 1000000+ parallel browser connections.
Comet server which handles 1000000+ parallel browser connections.
When I'm doing
perl -MCPAN -e "install EV"
it fails with the following:
Checking if your kit is complete...
Looks good
Warning: prerequisite common::sense 0 not found.
Writing Makefile for EV
Could not read '/home/e/.cpan/build/EV-4.03-UoCAfp/META.yml'. Falling back to other methods to determine prerequisites
---- Unsatisfied dependencies detected during ----
---- MLEHMANN/EV-4.03.tar.gz ----
common::sense [requires]
Shall I follow them and prepend them to the queue
of modules we are processing right now? [yes] yes
Running make test
Delayed until after prerequisites
Running make install
Delayed until after prerequisites
Running install for module 'common::sense'
'YAML' not installed, falling back to Data::Dumper and Storable to read prefs '/home/e/.cpan/prefs'
Running make for M/ML/MLEHMANN/common-sense-3.4.tar.gz
Checksum for /home/e/.cpan/sources/authors/id/M/ML/MLEHMANN/common-sense-3.4.tar.gz ok
common-sense-3.4/
common-sense-3.4/t/
common-sense-3.4/t/00_load.t
common-sense-3.4/Changes
common-sense-3.4/LICENSE
common-sense-3.4/sense.pm.PL
common-sense-3.4/META.json
common-sense-3.4/README
common-sense-3.4/Makefile.PL
common-sense-3.4/MANIFEST
CPAN.pm: Going to build M/ML/MLEHMANN/common-sense-3.4.tar.gz
Checking if your kit is complete...
Looks good
Writing Makefile for common::sense
MLEHMANN/common-sense-3.4.tar.gz
make -- NOT OK
Warning (usually harmless): 'YAML' not installed, will not store persistent state
Running make test
Can't test without successful make
Running make install
Make had returned bad status, install seems impossible
Running make for M/ML/MLEHMANN/EV-4.03.tar.gz
Has already been unwrapped into directory /home/e/.cpan/build/EV-4.03-UoCAfp
CPAN.pm: Going to build M/ML/MLEHMANN/EV-4.03.tar.gz
Warning: Prerequisite 'common::sense => 0' for 'MLEHMANN/EV-4.03.tar.gz' failed when processing 'MLEHMANN/common-sense-3.4.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
CPAN: Time::HiRes loaded ok (v1.9719)
MLEHMANN/EV-4.03.tar.gz
make -- NOT OK
Warning (usually harmless): 'YAML' not installed, will not store persistent state
Running make test
Can't test without successful make
Running make install
Make had returned bad status, install seems impossible
OS is Ubuntu Natty.
I recognize that it is not a realplexor's issue, but I've got no idea how to fix this and where to look for the solution.
это при инициализации realplexor.execute();
как ловить такой эксепшен?
и можно ли вообще?
З.Ы. FF 8.0
Subdomain check on lines 37-40 in dklab_realplexor.js is fail
page url is http://dklab_realplexor/
realplexor url is http://rpl.dklab_realplexor:8088/
All works great if I comment out lines 37-40 in dklab_realplexor.js
Почему-то вдруг nginx стал возвращать 502 Bad Gateway, после того как JS-клиент подключился и ждет.
в логах тихо
Sep 20 13:04:01 db realplexor/dklab_realplexor.conf: [Thu Sep 20 13:04:01 2012] WAIT: 10.249.190.163:56060: DEBUG: [1348146221.57005001000000:demo_460128] connection closed
Sep 20 13:04:01 db realplexor/dklab_realplexor.conf: [pairs_by_fhs=2 data_to_send=1 connected_fhs=1 online_timers=2 cleanup_timers=1 events=8]
Sep 20 13:04:01 db realplexor/dklab_realplexor.conf: [Thu Sep 20 13:04:01 2012] IN: 10.6.10.61:56216: DEBUG: connection opened
Sep 20 13:04:01 db realplexor/dklab_realplexor.conf: [pairs_by_fhs=2 data_to_send=1 connected_fhs=1 online_timers=2 cleanup_timers=1 events=8]
Sep 20 13:04:01 db realplexor/dklab_realplexor.conf: [Thu Sep 20 13:04:01 2012] IN: 10.6.10.61:56216: DEBUG: read 130 bytes
Sep 20 13:04:01 db realplexor/dklab_realplexor.conf: [pairs_by_fhs=2 data_to_send=1 connected_fhs=1 online_timers=2 cleanup_timers=1 events=8]
Sep 20 13:04:01 db realplexor/dklab_realplexor.conf: [Thu Sep 20 13:04:01 2012] IN: 10.6.10.61:56216: DEBUG: parsed IDs
Sep 20 13:04:01 db realplexor/dklab_realplexor.conf: [pairs_by_fhs=2 data_to_send=1 connected_fhs=1 online_timers=2 cleanup_timers=1 events=8]
Sep 20 13:04:01 db realplexor/dklab_realplexor.conf: [Thu Sep 20 13:04:01 2012] IN: 10.6.10.61:56216: DEBUG: added data for [demo_socdate]
Sep 20 13:04:01 db realplexor/dklab_realplexor.conf: [pairs_by_fhs=2 data_to_send=1 connected_fhs=1 online_timers=2 cleanup_timers=1 events=8]
Sep 20 13:04:01 db realplexor/dklab_realplexor.conf: [Thu Sep 20 13:04:01 2012] IN: 10.6.10.61:56216: DEBUG: connection closed
Sep 20 13:04:01 db realplexor/dklab_realplexor.conf: [pairs_by_fhs=2 data_to_send=1 connected_fhs=1 online_timers=2 cleanup_timers=1 events=8]
конфиг:
%CONFIG = (
# After starting and opening ports, switch to this user and his group.
SU_USER => "myuser",
# WAIT line (change requires restart).
#WAIT_TIMEOUT => 300,
WAIT_TIMEOUT => 20,
WAIT_MAXLEN => 1024 * 5,
WAIT_ADDR => [
'0.0.0.0:8088',
# If you need to handle more than 65536 parallel client
# connections, specify multiple IP addresses here
# instead of 0.0.0.0 (or multiple ports).
],
# IN line (change requires restart).
IN_TIMEOUT => 60,
IN_MAXLEN => 1024 * 200,
IN_ADDR => [
'0.0.0.0:10010'
],
# Memcached online notification servers.
ID_BINDINGS_SERVERS => [
'127.0.0.1:11211'
],
# Hostname of the current server.
ID_BINDINGS_SERVER_NAME => "default",
# How much events (e.g. online/offline changes) to hold in each
# of 3 event chains accessible via WATCH cmd.
EVENT_CHAIN_LEN => 1000,
# Hook: called before sending a data block to a client. If it returns
# false, data will not be sent. Prototype:
# sub (
# id => $, # ID of this data block
# cursor => $, # cursor of this block
# rdata => \$, # data of the block
# limit_ids => \% # limit this block visibility to these listeners (IDs are in keys)
# listen_cursor => $, # at which cursor client listens now
# listen_pairs => \@ # at which [ [ cursor, ID ], ... ] client listens else
# )
HOOK_CHECK_VISIBILITY => undef,
# How much time to treat the client online after disconnection.
OFFLINE_TIMEOUT => 30,
# Maximum queue length for each ID.
MAX_DATA_FOR_ID => 30,
# An ID queue is cleared after this number of seconds if
# no data is arrived.
CLEAN_ID_AFTER => 3600,
# Charset used in Content-Type for JSON and other responses.
CHARSET => "utf-8",
# Which users are allowed to access the engine.
USERS_FILE => "dklab_realplexor.htpasswd",
# Content of IFRAME which is returned on identifier=IFRAME request.
IFRAME_FILE => "dklab_realplexor.html",
# IFRAME ID.
IFRAME_ID => "IFRAME",
# Content of SCRIPT on identifier=SCRIPT request.
SCRIPT_FILE => "dklab_realplexor.js",
# IFRAME ID.
SCRIPT_ID => "SCRIPT",
# Name of "identifier" marker.
IDENTIFIER => "identifier",
# JS: max bounces.
JS_MAX_BOUNCES => 10,
# JS: reconnect delay.
JS_WAIT_RECONNECT_DELAY => 0.01,
# JS: what URI is used to access realplexor.
JS_WAIT_URI => '/',
# Is debug mode enabled for JS?
JS_DEBUG => 1,
# Debug output verbosity (decrease to speedup):
#0: totally silent, fastest mode
#1: show messages only, without timestamps
#2: show messages only, with timestamps
#3: show messages, timestamps and storage statistics
VERBOSITY => 0,
# If a realplexor daemon consumes more memory than specified here,
# it is cruelly restarted. Specify 0 to disable restarting.
MAX_MEM_MB => 0,
);
return 1;
Hi, i'm working on chat, which is based on realplexor. When there is about 200 users (connections) online everything is ok, but when its growing and its 300+ then for first few seconds messages do not arrive for new logged in user.
Generally: when there is 300+ connections to server, new connection is created, then for few seconds messages sent to new connection do not arrive.
Administrator of server says, that process of realplexor uses 100% processor.
What can i do with it, how can i debug it? Do you think, upgrade to newest version could help?
Hello, Dmitry
Are there any Mac OS X installation manual around? Also are there any English introduction? I'm trying to promote this library in my US company, but my manager said: "His homepage is in russian with english version leading nowhere".
Thanks
Дмитрий, здравствуйте.
Появилась такая проблема в... IE7 - плексор меняет document.domain, после чего перестают работать iframe, которые идут после инициализации плексора. Т.е. вызов на них: iframe.contentWindow.document... возвращает ошибку доступа.
Подскажите пожалуйста, как обойти текущую проблему. Может быть можно как-то вручную вызывать изменение document.domain? Или флаг какой-нибудь, который будет выставлять домен по необходимости?
js:
...
realplexor.subscribe("Alpha", function(data, id) {
document.getElementById('first').innerHTML += data + "
";
});
realplexor.subscribe("Beta", function(data, id) {
document.getElementById('second').innerHTML += data + "
";
});
...
php:
....
$rpl->send("Alpha", array("here" => "is", "any" => array("structured", "data")));
$rpl->send("Beta", array("x" => "y", "other" => array("complex", "message")));
....
После выпонения скрипта, в firebug видно, что по xhr запросу http://rpl.mydomain/?identifier=demo_Alpha,demo_Beta&ncrnd=1339863583432
пришло только одно сообщение (в Alpha).
сообщение для Beta не пришло в новом xhr запросе http://rpl.mydomain/?identifier=1339863592.26114014500000:demo_Alpha,demo_Beta&ncrnd=1339863592325.
Далее при одновременной отправке сообщения продолжают приходить только в Alpha. Если отправить запрос только в Beta или вставить sleep(1); между запросами, то сообщение доходит.
После раздельной отправки сообщений любым из способов, начинают приходить одновременно отправленные сообщения.
Запросы xhr вида http://rpl.mydomain/?identifier=1339864176.81945016900000:demo_Alpha,1339864177.82348017100000:demo_Beta&ncrnd=1339864237956.
Видно, что в последнем запросе, работающем корректно, обращение к Beta уже идет по ID:Name. Но ID был получен только после раздельной отправки сообщений. При одновременной отправке клиент ID получить не может.
Здравствуйте
пытаюсь собрать под CentOS 6.2
не могу скомпилировать cpp версию
In file included from dklab_realplexor.cpp:76:
utils/ev++0x.h:4:18: error: ev++.h: Нет такого файла или каталога
In file included from dklab_realplexor.cpp:71:
utils/misc.h: In function ‘void die(std::string)’:
utils/misc.h:83: ошибка: expected primary-expression before ‘[’ token
компиляция прервана из за ошибок -Wfatal-errors.
Все пакеты стоят включая libev
как быть
Добрый день. Не получается скомпилировать:
./Make.sh
/usr/bin/ld: cannot find -lboost_filesystem
/usr/bin/ld: cannot find -lboost_system
/usr/bin/ld: cannot find -lboost_regex
collect2: error: ld returned 1 exit status
хотя эти библиотеки есть:
andrew@development:/usr/lib$ ls -l boost
lrwxrwxrwx 1 root root 29 Ноя 10 00:47 boost_filesystem.so -> libboost_filesystem.so.1.49.0
lrwxrwxrwx 1 root root 24 Ноя 10 00:48 boost_regex.so -> libboost_regex.so.1.49.0
lrwxrwxrwx 1 root root 25 Ноя 10 00:47 boost_system.so -> libboost_system.so.1.49.0
lrwxrwxrwx 1 root root 29 Ноя 10 00:43 libboost_filesystem.so -> libboost_filesystem.so.1.49.0
-rw-r--r-- 1 root root 132448 Фев 3 2013 libboost_filesystem.so.1.49.0
-rw-r--r-- 1 root root 106952 Фев 3 2013 libboost_iostreams.so.1.49.0
lrwxrwxrwx 1 root root 24 Ноя 10 00:43 libboost_regex.so -> libboost_regex.so.1.49.0
-rw-r--r-- 1 root root 1218208 Фев 3 2013 libboost_regex.so.1.49.0
lrwxrwxrwx 1 root root 25 Ноя 10 00:43 libboost_system.so -> libboost_system.so.1.49.0
-rw-r--r-- 1 root root 13512 Фев 3 2013 libboost_system.so.1.49.0
Что делать?
bash Make.sh
In file included from dklab_realplexor.cpp:79:
./Realplexor/Event/Server.h:183:30: fatal error: use 'template' keyword to treat 'set' as a
dependent template name
closure->io->ev::io::set<IoTimerClosure, &IoTimerClosure::handle>(closure);
^
template
1 error generated.
$ gcc -v
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.0.0
Thread model: posix
Background: i have an application which i'd like to halt all client side activity on a certain occasion, i.e. stop receiving updates from server (but sure without reloading the page). My actions are to remove all event handler subscriptions with unsubscribe
calls.
The problem is that when all handlers are removed (i.e. there is no channels to listen for javascript side), javascript still tries to listen with empty identifier
parameter in GET, which causes server side to return 502 Bad Gateway
response (i have nginx+apache setup).
Checked online sandbox http://realtime.rutvit.ru/?identifier=&ncrnd=13066977517 and it gives the same error (so i figured it's not about my configuration :)
As i understand, the issue is not in server side, but in javasript keeping long pulling requests even when there is nothing to listen to.
It would be great to have an option to terminate long pulling so no new connection is made to the server.
Пробовал родным GCC
gcc version 4.6.3
и устанавливал по вашей инструкции
Configured with: ./configure --prefix=/opt/gcc --with-mpc=/usr/local --with-gmp=/usr/local --with-mpfr=/usr/local --enable-languages=c,c++ --without-ppl --without-cloog
Thread model: posix
gcc version 4.6.3 (GCC)
Выдается ошибка
root@Debian-60-squeeze-64-minimal:/123/dklab_realplexor/trunk/cpp/src# ./Make.sh/123/dklab_realplexor/trunk/cpp/src#
In file included from dklab_realplexor.cpp:80:0:
Realplexor/Tools.h: In static member function ‘static Realplexor::cursor_t Realplexor::Tools::time_hi_res()’:
Realplexor/Tools.h:14:33: error: too few arguments to function ‘ev::tstamp ev::now(ev_loop*)’
compilation terminated due to -Wfatal-errors.
root@Debian-60-squeeze-64-minimal:
помогите собрать, очень нужно.
Спасибо
возможно ли допилить это?
у меня проблема с установкой.
Устанавливаю по мануалу от сюда( http://dklab.ru/lib/dklab_realplexor/ ), всё устанавливается, и нет ни одной ошибки. кроме как в последней команде
service dklab_realplexor start
Ответ консоли - "FAILED: /etc/dklab_realplexor.conf; see logs"
Но и лог-файлов /var/log/messages и /var/log/syslog нет.
Нашёл такую же проблему( #1 ), но не помогло. уже всё перепробовал. не подскажете, что может быть не так?
файл конфигурации взят с гитхаба, с изменением SU_USER, и игрался с ip. вдруг что то пропустил.
%CONFIG = ( SU_USER => "root", WAIT_TIMEOUT => 300, WAIT_MAXLEN => 5120, WAIT_ADDR => [ '0.0.0.0:8088', ], IN_TIMEOUT => 20, IN_MAXLEN => 1024 * 200, IN_ADDR => [ '127.0.0.1:10010' ], ID_BINDINGS_SERVERS => [ '127.0.0.1:11211' ], ID_BINDINGS_SERVER_NAME => "default", EVENT_CHAIN_LEN => 1000, HOOK_CHECK_VISIBILITY => undef, OFFLINE_TIMEOUT => 30, MAX_DATA_FOR_ID => 30, CLEAN_ID_AFTER => 3600, CHARSET => "utf-8", USERS_FILE => "/dklab_realplexor.htpasswd", IFRAME_FILE => "/dklab_realplexor.html", IFRAME_ID => "IFRAME", SCRIPT_FILE => "/dklab_realplexor.js", SCRIPT_ID => "SCRIPT", IDENTIFIER => "identifier", JS_MAX_BOUNCES => 10, JS_WAIT_RECONNECT_DELAY => 0.01, JS_WAIT_URI => '/', JS_DEBUG => 1, # Debug output verbosity (decrease to speedup): #0: totally silent, fastest mode #1: show messages only, without timestamps #2: show messages only, with timestamps #3: show messages, timestamps and storage statistics VERBOSITY => 0, # If a realplexor daemon consumes more memory than specified here, # it is cruelly restarted. Specify 0 to disable restarting. MAX_MEM_MB => 0, ); return 1;
$ sh Make.sh
dklab_realplexor.cpp: In function ‘void mainloop()’:
dklab_realplexor.cpp:152:21: error: ignoring return value of ‘int setegid(__gid_t)’, declared with attribute warn_unused_result [-Werror=unused-result]
setegid(gid);
^
compilation terminated due to -Wfatal-errors.
cc1plus: all warnings being treated as errors
Сорри, я не особо понимаю в c++, как решить эту проблему?
Есть сайт: mydomain.com. На сайте есть фрейм, который подгружает информацию с mydomain.com/folder/index.html.
В этом фрейме идет JS обращение родителю фрейма, т.е. к основной странице, все отлично работает, но вот после запуска скрипта:
<scripttype="text/javascript"src="media/js/dklab_realplexor.js"></script><scripttype="text/javascript">
$(function(){var realplexor =newDklab_Realplexor('http://rpl.mydomain.com/','test_');
realplexor.subscribe("Alpha",function(data){ alert("Alpha: "+ data)});
realplexor.execute();});</script>
Блокируется доступ к родителю со всех остальных фреймов на сайте..
Например после обращения parent.myFunction(); Я получаю ошибку:
Error: Permission denied to access property "myFunction"
Подскажите пожалуйста, это известная ошибка? Нигде не нашел информации по поводу ее решения
Дмитрий, доброе утро. Пытаюсь собрать с++ версию на CentOS и выдается следующая ошибка:
[root@redmin src]# ./Make.sh
In file included from dklab_realplexor.cpp:86:0:
Storage/CleanupTimers.h: В функции-члене «void Storage::CleanupTimers::start_timer_for_id(Realplexor::ident_t, int, Cb)»:
Storage/CleanupTimers.h:31:26: ошибка: capture of non-variable «Storage::CleanupTimers::storage»
компиляция прервана из-за -Wfatal-errors.
Если в Storage/CleanupTimers.h на строке 26 заменить
if (storage.count(id)) {
на
if (this->storage.count(id)) {
, то на данную строчку уже не ругается.
Версия компилятора:
[root@redmin src]# g++ -v
Используются внутренние спецификации.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.7.0/lto-wrapper
Целевая архитектура: x86_64-unknown-linux-gnu
Параметры конфигурации: ./configure --with-mpc-lib=/usr/local/lib --with-gmp=/usr/local/lib --with-mpfr=/usr/local/lib --enable-languages=c,c++ --without-ppl --without-cloog
Модель многопоточности: posix
gcc версия 4.7.0 20120314 (prerelease) (GCC)
клиентская сторона (и данный тип соединения) работает во всех браузерах?
работает ли на мобильных устройсвах?
Использую реалплексор на нагруженном проекте.
Когда выполняю метод cmdOnline, получаю такую ошибку:
Fatal error: Uncaught exception 'Realplexor_Exception' with message 'Response length (56421) is different than specified in Content-Length header (77807): possibly broken response
Так-же такая ошибка иногда возникает при вызове метода cmdWatch.
Пробывал отправлять команды напрямую через телнет, получаю оборваные ответы, тоесть проблема явно с сервером.
Browser: Firefox 4.0
В Js-коде внутри iframe на строке 256 кидается исключение: "attempt to run compile-and-go script on a cleared scope"
Решение: очищать обрабочик "onreadystatechange" перед вызовом "abort".
Патч:
--- dklab_realplexor.html (revision 523) +++ dklab_realplexor.html (working copy) @@ -276,6 +276,7 @@ // and reaches the connection limit. try { if (th._lastXmlhttp) { + th._lastXmlhttp.onreadystatechange = function(){}; th._lastXmlhttp.abort(); th._lastXmlhttp = null; } @@ -284,6 +285,7 @@ if (this._lastXmlhttp) { var xhr = this._lastXmlhttp; this._lastXmlhttp = null; + xhr.onreadystatechange = function(){}; xhr.abort(); // abort() does not make bounce if this._lastXmlhttp is null } this._namespace = namespace && namespace.length? namespace : null;
Здравствуйте, Дмитрий!
Perl версия не справляется с рассылками в канал ограниченному списку пользователей, упирается в процессор и в результате принимает от PHP каждую команду за 5-8 секунд, что приводит к неработоспособности сайта. Если делать все каналы уникальными и не делать массовых рассылок, то пока справляется, но тоже близок к 100% ЦПУ.
Решил попробовать C++ версию. Протестировал на тестовом сервере, никаких проблем не обнаружил. Все прекрасно работало. А на боевом сервере возникла проблема.
Если на самом сервере выполнить:
get /multiplexor/?identifier=IFRAME&HOST=site.ru&version=1.32.3
Здесь всё не влазит, поэтому концовка здесь: http://forum.dklab.ru/viewtopic.php?p=196870#196870
Добрый день.
Кажется, JS_MAX_BOUNCES в файле dklab_realplexor.conf просто игнорируется. Хотя, к примеру, WAIT_TIMEOUT учитывается.
Задача: увеличить JS_MAX_BOUNCES до 1000, к примеру.
На опере 12.16 - ошибка в яваскриптах. Соответственно ничо не работет.
sudo su
chkconfig --add dklab_realplexor
insserv: warning: script 'K01gdm' missing LSB tags and overrides
insserv: warning: script 'S19linux-restricted-modules-common' missing LSB tags and overrides
insserv: warning: script 'K01acpi-support' missing LSB tags and overrides
insserv: warning: current start runlevel(s) (0 6) of script sendsigs' overwrites defaults (empty). insserv: warning: current start runlevel(s) (0 6) of script
wpa-ifupdown' overwrites defaults (empty).
insserv: warning: current stop runlevel(s) (1) of script policykit' overwrites defaults (empty). insserv: warning: script 'acpi-support' missing LSB tags and overrides insserv: warning: current start runlevel(s) (0 6) of script
umountroot' overwrites defaults (empty).
insserv: warning: script 'gdm' missing LSB tags and overrides
insserv: warning: current stop runlevel(s) (0 1 6) of script apport' overwrites defaults (empty). insserv: warning: current start runlevel(s) (0) of script
halt' overwrites defaults (empty).
insserv: script postgresql-8.4: service postgresql already provided!
insserv: script postgresql-8.4: service postgresql-8.4 already provided!
insserv: warning: current start runlevel(s) (6) of script reboot' overwrites defaults (empty). insserv: warning: current start runlevel(s) (0 6) of script
umountfs' overwrites defaults (empty).
insserv: warning: current start runlevel(s) (0 6) of script umountnfs.sh' overwrites defaults (empty). insserv: warning: script 'linux-restricted-modules-common' missing LSB tags and overrides insserv: warning: current stop runlevel(s) (1) of script
ufw' overwrites defaults (empty).
dklab_realplexor 0:off 1:off 2:on 3:on 4:on 5:on 6:off
root@taras-laptop:/home/taras# chkconfig dklab_realplexor on
root@taras-laptop:/home/taras# service dklab_realplexor start
FAILED: /etc/dklab_realplexor.conf; see logs
I use Dklab_Realplexor and lately I have been getting an error in Google Chrome: Failed to load resource: net::ERR_BLOCKED_BY_CLIENT ?identifier=SCRIPT&0:61 Uncaught DOMException: Failed to read a named property 'Dklab_Realplexor_Loader' from 'Window': Blocked a frame with origin "https://example.com" from accessing a cross-origin frame.
How can I fix this error?
Дмитрий, здравствуйте
смоделировав ситуацию кратковременного (несколько минут) разрыва интернет соединения, я сделал вывод что подписка на канал слетает и не восстанавливается. В браузере висит бесконечное соединение с realplexor, которое никогда не получит данных (realplexor эту подписку больше не видит (по таймауту)) и по той же причине не произойдет принудительного переподключения.
Я думаю, что проблема решится добавлением в метод Dklab_Realplexor_Loader._loopFunc автоматического переподключения по таймауту, равному JS_WAIT_TIMEOUT + 5 секунд
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.