Непризнанные параметры подключения к сети WebSocket, "агент", "perMessageDeflate", "pfx", "key", "passphrase"... Вы хотели поставить их под заголовками?
Вы когда-нибудь встречали это сообщение в приложении React Native с помощью WebSocket (SocketIOClient из "socket.io-client")?...
Unrecognized WebSocket connection option(s) 'agent', 'perMessageDeflate', 'pfx', 'key', 'passphrase', 'cert', 'ca', 'ciphers', 'rejectUnauthorized'. Did you mean to put these under 'headers'?
Ответы
Ответ 1
Да, это происходит в конструкторе класса WebSocket в Socket.io. Я думаю, что это происходит, когда вы указываете свой транспортный уровень как "websocket" в конструкторе (который необходим для использования React Native socket io). Он не делает ничего плохого, но раздражает. Вы можете избавиться от него с помощью реагирования YellowBox.ignoreWarnings
: при YellowBox.ignoreWarnings
приложения:
console.ignoredYellowBox = ['Remote debugger'];
import { YellowBox } from 'react-native';
YellowBox.ignoreWarnings([
'Unrecognized WebSocket connection option(s) 'agent', 'perMessageDeflate', 'pfx', 'key', 'passphrase', 'cert', 'ca', 'ciphers', 'rejectUnauthorized'. Did you mean to put these under 'headers'?'
]);
Ответ 2
Один из способов устранить ошибку:
let socket = io.connect(SOCKET_URL, {
timeout: 10000,
jsonp: false,
transports: [‘websocket],
autoConnect: false,
agent: ‘-,
path: ‘/, // Whatever your path is
pfx: ‘-,
key: token, // Using token-based auth.
passphrase: cookie, // Using cookie auth.
cert: ‘-,
ca: ‘-,
ciphers: ‘-,
rejectUnauthorized: ‘-,
perMessageDeflate: ‘-
});