Простая библиотека для внедрения базового функционала WebSocket в ваше Flutter приложение
Подключите библиотеку добавив код в pubspec.yaml в раздел dependencies
rockus_socket:
git:
url: https://github.com/rockus-games/rockus_socket.git
ref: masterВ результате должно получиться так:
dependencies:
flutter:
sdk: "flutter"
rockus_socket:
git:
url: https://github.com/rockus-games/rockus_socket.git
ref: master
# остальные ваши библиотеки и плагиныСоздайте объект класса RSocket
Используйте функцию on для чтения входящего события
RSocket socket = new RSocket({
ip: "127.0.0.1:8080" // IP вашего сервера
})
void someEvent(Event event) {
// Аргумент event имеет тип Event и содержит поля type и data
print(event.type);
print(event.data);
}
socket.on("название_события", someEvent);Используйте off, offAll, offLast чтобы отключить чтение данного события
RSocket socket = new RSocket({
ip: "127.0.0.1:8080" // IP вашего сервера
})
socket.off("название_события", someEvent);
//off требует обязательного указания функции, которую надо отключить
socket.offAll("название_события");
//offAll отключает все чтения для указанного события
socket.offLast("название_события");
//offLast отключает функцию чтения, которая была добавлена последнейДля отправки сообщений используйте функцию send:
RSocket socket = new RSocket({
ip: "127.0.0.1:8080" // IP вашего сервера
})
socket.send(Event({
type: "название_события",
data: {
"ключ": "значение",
"ключ2": "значение2"
}
//ключ обязательно String
//значение может принимать любой тип
}))Также есть стандартные методы вроде socket.connect, socket.disconnect.