728x90
반응형
MQTT를 생성하여 Topic을 구독하는 도중,
응답값이 잘 오지 않았습니다.
Client is not connected (32104) 오류가 계속 뜨거나 , Fail은 없고 subscribe callback이 오지 않았습니다.
해결 방법은
waitForCompletion()
함수를 사용해줍니다.
코드에서는 이렇게 연결해주면 됩니다.
if (client?.isConnected == false) {
val token = client?.connect(mqttConnectOptions,"", MqttConnectListener())
token?.waitForCompletion()
}
- client : MqttAsyncClient
- mqttConnectOptions : MqttConnectOptions()
문서를 확인해보면
-> 토큰과 연결된 작업이 완료될 때까지 스레드를 차단하는 함수입니다.
아마 여러개의 스레드를 사용하여 구동하는 앱일 경우에 발견할 수 있는 에러인것 같습니다.
아래 스택오버플로우도 참고하세요
https://stackoverflow.com/questions/58360371/mqttasyncclient-client-is-not-connected-32104
728x90
반응형
'안드로이드 스튜디오' 카테고리의 다른 글
[안드로이드 스튜디오 코틀린] 코틀린으로 Swipe & Slide View 만들기 (1) | 2023.05.13 |
---|---|
[안드로이드 스튜디오 코틀린] LocationRequest.create() deprecated 대응 (0) | 2023.05.11 |
[안드로이드 스튜디오 코틀린] 코틀린으로 MQTT publish, subscribe 구현하는 방법 (+소스코드) (0) | 2023.04.26 |
[안드로이드 스튜디오 코틀린] 시스템 글씨 크기 키우기 (1) | 2023.04.21 |
[안드로이드 스튜디오 코틀린] found with path 'META-INF/INDEX.LIST' Error (0) | 2023.04.11 |