#react-native #socket.io #laravel-echo
#react-native #socket.io #laravel-echo
Вопрос:
Я использую laravel-echo client в приложении RN.
broadcaster: "socket.io",
host: SOCKT_SERVER_URL,
client: Socketio,
auth: {
headers: {
Authorization: "Bearer " SOCKET_SERVER_TOKEN
}
}
});
echo
.channel("ticket-notification." props.id)
.listen("PrivateTicketCommentsNotification", event => {
console.log("------->", event);
//Handle event
});
сервер laravel также работает для этого
но при подключении echo server
Я получаю эту проблему
Непризнанные соединение с WebSocket вариант(ы) agent
, perMessageDeflate
, pfx
, key
, passphrase
, cert
, ca
, ciphers
, rejectUnauthorized
. Ты имел в виду, чтобы положить их под headers
? — node_modules / expo /build / environment /logging.js:25:23 в предупреждении — … еще 27 фреймов стека из внутренних компонентов фреймворка
Спасибо за ваше продвижение.
Комментарии:
1. в настоящее время это работает с сервером сокетов и клиентами
2. но все еще предупреждение. как я могу исправить это предупреждение.
3. Мы пытаемся сделать то же самое. Вы уже нашли что-нибудь?
4. все еще нет. Я попробовал использовать обычный клиент SocketIO. но….
Ответ №1:
let echo = new Echo({
broadcaster: "socket.io",
host: SOCKT_SERVER_URL,
client: socketIO,
auth: {
headers: {
Authorization: "Bearer " SOCKET_SERVER_TOKEN
}
},
timeout: 10000,
jsonp: false,
transports: ["websocket"],
autoConnect: false,
agent: "-",
pfx: "-",
key: "Bearer " SOCKET_SERVER_TOKEN,
cert: "-",
ca: "-",
ciphers: "-",
rejectUnauthorized: "-",
perMessageDeflate: "-"
});
Я получил решение для этой проблемы
Ответ №2:
Если вы используете nodejs на своем сервере, просто добавьте этот ключ в свои параметры:
var socket = io(ENDPOINT, {forceNode:true})