если я напишу {transports: ['websocket']}
, то у меня ошибка -
Соединение WebSocket с
Ошибка ws: //echo.websocket.org/socket.io/? EIO = 3 & transport = websocket:
Ошибка во время рукопожатия WebSocket: неожиданный код ответа: 404
иначе -
Доступ к XMLHttpRequest по адресу
«http://echo.websocket.org/socket.io/?EIO=3&transport=polling&t=Mi560SU'
из источника 'http://localhost:3000' заблокирован политикой CORS:
Заголовок «Access-Control-Allow-Origin» отсутствует в запрошенном
ресурс.
моя сага:
import { put, take, call } from 'redux-saga/effects';
import io from 'socket.io-client';
import { eventChannel } from 'redux-saga';
import {
GET_TEST_SAGA,
} from '../actions';
export const socket = io.connect('http://echo.websocket.org', { transports: ['websocket'] });
const SocketEvents = {
jobsFresh: 'jobs+fresh',
};
function createFreshJobsChannel() {
const subscribe = (emitter) => {
socket.on(SocketEvents.jobsFresh, emitter);
return () => socket.removeListener(SocketEvents.jobsFresh, emitter);
};
return eventChannel(subscribe);
}
export default function* getTestSocket() {
const channel = yield call(createFreshJobsChannel);
while (true) {
yield take(GET_TEST_SAGA);
while (true) {
const jobs = yield take(channel);
console.log(jobs);
}
}
}