Как правильно получать сообщения WebSocket с помощью реакционного использования Websocket?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как правильно получать сообщения WebSocket с помощью реакционного использования Websocket?

Сообщение Anonymous »

Я все еще пытаюсь выяснить, как получить сообщение в моем Reactnative, используя WebSocket. Теперь с библиотекой реакционного использования-Websocket. < /P>
Вот мой код: < /p>

Код: Выделить всё

import useWebSocket, { ReadyState } from 'react-use-websocket';

export default function WebSocketTestPage() {
const navigation = useNavigation();
const [messageHistory, setMessageHistory] = useState([]);
const [socketUrl, setSocketUrl] = useState('wss://echo.websocket.org');

const {
sendMessage,
sendJsonMessage,
lastMessage,
lastJsonMessage,
readyState,
getWebSocket,
} = useWebSocket(socketUrl, {
onOpen: () => console.log('websocket opened'),
//Will attempt to reconnect on all close events, such as server shutting down
shouldReconnect: (closeEvent) => true,
});

const connectionStatus = {
[ReadyState.CONNECTING]: 'Connecting',
[ReadyState.OPEN]: 'Open',
[ReadyState.CLOSING]: 'Closing',
[ReadyState.CLOSED]: 'Closed',
[ReadyState.UNINSTANTIATED]: 'Uninstantiated',
}[readyState];

useEffect(() => {
console.log('connection status: '+connectionStatus);
},[connectionStatus]);

useEffect(() => {
if (lastMessage){
console.log('lastMessage: '+lastMessage.data);
} else {
console.log('lastMessage: null');
}
},[lastMessage])

return (


 {
sendMessage('asdasdasda');
}}>


}



);
}
Пробовал отправить Messagea несколько раз через websocketking.com.

Код: Выделить всё

LOG  connection status: Connecting
LOG  lastMessage: null
LOG  websocket opened
LOG  connection status: Open
LOG  lastMessage: Request served by 4d896d95b55478
LOG  lastMessage: asdasdasda
LOG  lastMessage: asdasdasda
LOG  lastMessage: asdasdasda
LOG  lastMessage: asdasdasda
< /code>
Request served by 4d896d95b55478
получен с Websocketking.com, и пока есть только 1 строка (но отправленные сообщения> 1). Интересно, что есть несколько LastMessage: Asdasdasda строки, которые являются результатом вызова sendmessage на щелчке. Возможно, есть некоторое недоразумение. Почему есть только сообщение, полученное с WebSocketking.com? Я на rn 0,71.0, кстати.


Подробнее здесь: https://stackoverflow.com/questions/797 ... -websocket
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»