node에서 사용하는 socket.io
https://www.npmjs.com/package/socket.io
이것과 호환되는
https://github.com/rikulo/socket.io-client-dart
서버 버전과 클라이언트 버전을 맞춰줘야 함.
nest socket.io는 4버전을 쓰기에 client에서는 2 버전 이상을 사용
flutter >>
socket_io_client: ^2.0.0-beta.4-nullsafety.0
IO.Socket socket = IO.io(url,
OptionBuilder().setTransports(['websocket']).build());
socket.onConnect((_) {
print('connect');
socket.emit('msg', 'test');
});
socket.on('event', (data) => print(data));
socket.onDisconnect((_) => print('disconnect'));
socket.on('fromServer', (_) => print(_));
flutter web을 사용하는 경우 OptionBuilder().setTransports(['websocket']).build()을 추가해 줘야 ws로 인식하게 됨.
참고
https://velog.io/@kofsitho/NestJS-Socket.io-4-ver
https://github.com/nestjs/nest/issues/5676