[flutter] get_it과 웹소켓 통신의 연동

이번 포스트에서는 Flutter 애플리케이션에서 get_it 패키지를 사용하여 웹소켓 통신을 연동하는 방법에 대해 알아보겠습니다.

get_it 패키지 소개

get_it은 Flutter 애플리케이션의 의존성 관리를 위한 패키지로, 의존성 주입을 단순화하여 코드를 모듈화하고 테스트하기 쉽게 합니다.

get_it을 사용하여 웹소켓 통신 연동하기

먼저, pubspec.yaml 파일에 get_it 패키지를 추가합니다.

dependencies:
  get_it: ^7.2.0

이제 get_it을 사용하여 웹소켓 통신을 위한 서비스 클래스를 만들어보겠습니다.

import 'package:get_it/get_it.dart';
import 'package:web_socket_channel/web_socket_channel.dart';

class WebSocketService {
  final _channel = GetIt.instance.get<WebSocketChannel>();

  void sendMessage(String message) {
    _channel.sink.add(message);
  }

  Stream<dynamic> get receiveStream => _channel.stream;
}

void setupServices() {
  GetIt.instance.registerLazySingleton(() => WebSocketChannel.connect(Uri.parse('ws://your-websocket-url')));
  GetIt.instance.registerLazySingleton(() => WebSocketService());
}

WebSocketService 클래스는 get_it을 이용하여 WebSocketChannel 인스턴스를 주입받아 메시지 전송(Sending)과 수신(Receiving) 기능을 제공합니다.

마지막으로, 앱이 시작될 때 setupServices 함수를 호출하여 get_it을 설정합니다.

void main() {
  setupServices();
  runApp(MyApp());
}

결론

get_it을 사용하여 웹소켓 통신을 연동하면 코드를 더 모듈화하고 테스트하기 쉬워집니다. 의존성 주입을 통해 코드의 유연성을 높이고, 앱의 확장성을 향상시킬 수 있습니다.

이상으로 get_it과 웹소켓 통신의 연동에 대해 알아보았습니다. 감사합니다.

get_it 패키지 공식 문서

web_socket_channel 패키지 공식 문서