Коллеги, доброго времени суток, прошу помощи, так как не могу решить проблему. Суть следующая:
Делаю проект, в котором клиентская часть должна подключаться к серверу через сокеты. Выбрал socket.io, но не могу подключить (или собрать) клиентский файл. Я подключаю все js файлы через import (es6) , но не могу подключить socket.io-client
С официального репозитория вроде поставил socket.io-client но через import не могу подключить. Кто ставил, подскажите что и как, за ранее благодарю.
Дополнение: необходимо что бы клиентская часть socket.io работала с другим сервером (хостом), на котором установлен сервер socket.io - как то так. Прошу прощения за возможное некорректное пояснение))
import io from './libs/socket.js';
т.е. иными словами у меня есть клиентский файл, как я опять же понимаю, который я просто подключаю на сайте, а дальше в классе:
Роман Андреевич, ппц, вы еще и нативные модули юзаете. почему сразу об этом в вопросе не сказали? вам в разведке надо работать из вас фиг че вытащишь.
с чего вы вообще взяли что это будет работать? чтобы юзать нативный import, должен быть нативный export. откройте файл socket.io.js и покажите где вы там увидели нативный export. там вообще UMD. для вас специально в мануале написали как выполнить подключение, но нет, вы пытаетесь изобрести что-то свое непонятное
Alex, ну не изобрести конечно. В итоге мне нужно что бы с клиента без серверной части текущего сайта, подключался к api, через socket.io. Я прошу прощения, что в начале не написал или написал некорректно, каюсь.
WebSocket connection to 'ws://searchengine.localhost/socket.io/?EIO=3&transport=websocket&sid=HJxJPuRJ_6eh0VMlAAAB' failed: Error during WebSocket handshake: Unexpected response code: 400
Но при этом соединение установлено! Но ошибка пропадает, если указать порт приложения, но это это не безопасно, я считаю. Если я правильно понял, то мне нужно изменить конфиг апача в дданном случае.
Alex, решено!!!)))) не так как хотелось бы но тем не менее, мало ли кому пригодится, но вот конфиг apache2:
<VirtualHost *:80>
ServerName searchengine.localhost
ServerAlias www.searchengine.localhost
ServerAdmin webmaster@localhost
DocumentRoot /home/user/projects/searchengine.localhost
ProxyVia On
ProxyRequests Off
ProxyPreserveHost on
<Location />
ProxyPass http://localhost:5265/ retry=0 timeout=30
ProxyPassReverse http://localhost:5265/
</Location>
<Location /socket.io>
RewriteEngine On
RewriteCond %{QUERY_STRING} transport=websocket [NC]
RewriteRule /(.*) ws://localhost:5265/socket.io/$1 [P,L]
ProxyPass http://localhost:5265/socket.io retry=0 timeout=30
ProxyPassReverse http://localhost:5265/socket.io
</Location>
<Proxy *>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Proxy>
</VirtualHost>
нужен модуль sudo a2enmod proxy_wstunnel и sudo a2enmod proxy_http, возможно еще какие-то установлены но я не помню и если что потом вылезет, каждый подправит.