Проблема с chat rooms

Artem Shabanov

New Member
Добрый день!
Захотел добавить чат в проект на React, установил npm-пакет @flashphoner/websdk, скопировал в проект код из демо, но выдает ошибку
1619778195018.png

1619778217354.png

1619778241741.png
 

Max

Administrator
Staff member
Здравствуйте. Посмотрите вкладку F12 - Network если в Chrome. Куда идет коннект. Должен быть указан валидный wss:// адрес с доменом.
Например: wss://mydomain.com:8443, при этом, на стороне сервера должны быть импортированы web SSL сертификаты чтобы этот коннект проходил.
 

Artem Shabanov

New Member
Здравствуйте. Посмотрите вкладку F12 - Network если в Chrome. Куда идет коннект. Должен быть указан валидный wss:// адрес с доменом.
Например: wss://mydomain.com:8443, при этом, на стороне сервера должны быть импортированы web SSL сертификаты чтобы этот коннект проходил.
WSS запрос не идет. Переустановил npm-пакет - выдает другую ошибку в файле src/room-module.js . С самим сервером все хорошо, видео стриминг через него работает
1619784020126.png

1619784036196.png
 

Max

Administrator
Staff member
Дело в том, что объект Flashphoner не экспортируется непосредственно из исходных текстов пакета, он формируется при сборке скрипта flashphoner.js для использования в браузере, см файл node_modules/@flashphoner/websdk/Gruntfile.js:
Code:
        ...
        browserify: {
            flashphonerGlobalObject: {
                src: ['./src/flashphoner-core.js'],
                dest: './flashphoner.js',
                options: {
                    ignore: ['./src/temasys-media-provider.js', 'adapterjs'],
                    transform: [['babelify', {presets: ["@babel/preset-env", { "sourceType": "unambiguous" }], global: true, exclude: ['./src/media-source-media-provider.js','./src/media-source-media-provider.min.js']}]],
                    browserifyOptions: {
                        standalone: 'Flashphoner'
                    }
                }
            },
            ...
      }
      ...
Поэтому необходимо использовать конструкцию вида
Code:
import * as Flashphoner from '@flashphoner/websdk'
либо импортировать браузерный скрипт node_modules/@flashphoner/websdk/flashphoner.js
 

PavelShev

New Member
Аналогичная проблема.

Пытался имплементировать на React пример с конференцией(https://docs.flashphoner.com/display/WEBSDK2RU/Video+Conference).
Метод init отработал(получил об этом сообщений в консоли браузера), а при вызове Flashphoner.roomApi.connect, получаю вышеописанную ошибку "Flashphoner is not defined" в том же модуле room-module на той же 36 строке.

Подключал пакет
и так: import * as Flashphoner from '@flashphoner/websdk',
и так: import Flashphoner from '@flashphoner/websdk',
результат один и тот же.

Есть сейчас какое то решение?
 

Max

Administrator
Staff member
Есть сейчас какое то решение?
Попробуйте сделать так:
Code:
import * as Flashphoner from '@flashphoner/websdk/src/flashphoner-core.js'
т.к. фактически под этим именем в данном случае нужны экспорты из этого модуля
либо импортировать браузерный скрипт node_modules/@flashphoner/websdk/flashphoner.js
Завели тикет WCS-3312, чтобы исключить ссылки на browserified скрипт из исходных модулей. Сообщим здесь о результате.
 

Max

Administrator
Staff member
Провели тесты, с импортом
Code:
import * as Flashphoner from '@flashphoner/websdk/src/flashphoner-core.js';
исключение не воспроизводится, вебсокет-соединение устанавливается. Дополнили документацию.
В рамках тикета WCS-3312 добавим в документацию пример React приложения.
 
Top