본문 바로가기
프로그래밍/Flutter-Dart

[Flutter] nats server 연동

by 채연2 2022. 7. 15.

NATs Server와 연동할 일이 생겼다..

지식이 없어 이것저것 헤매다가 결국 알아냈더랬지

 

 


 

pubspec.yaml

dependencies:
  flutter:
    sdk: flutter
    
  #NATS
  dart_nats: 0.3.5

내가 사용한 라이브러리는 dart_nats

 

 

 

connect

nats.Client natsClient;

void connect() async {
    natsClient = nats.Client();
    await natsClient.tcpConnect('ip');
    print('${_TAG}connect : ${natsClient.status.name}');
}

처음에 그냥 natsClient.connect 함수를 썼는데 로그는  connected라 찍히는데 정작 서버에서는 연결이 안됐다고 해서 찾아낸 방법이 tcpConnect 였다

 

 

 

subscribe

nats.Subscription natsSubs;

void subscribe() {
	natsSubs = natsClient.sub("test/subscribe");
    natsSubs.stream.listen((event) {
      print('${_TAG}natsSubs reply : ${event.string}');
    });
}

 

 

 

publish

void pncPublish(String data) {
    List<int> bytes = utf8.encode(data);
    natsClient.pub('test/public', Uint8List.fromList(bytes));
}

아쉽게도 publish는 string, byte array 밖에 지원 안되는 듯 하다

 

 

 

dispose

void dispose() {
    natsClient.close();
}
320x100

댓글