문제
지금 API 서버로 Nest.JS를 로컬에서 실행하고있다. port는 3000이다
앱 테스트를 위해 안드로이드 실기기를 맥북에 연결후 빌드해서 api를 사용하려는데 아래 에러가 발생했다
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: DioError [DioErrorType.other]: SocketException: Connection refused (OS Error: Connection refused, errno = 111), address = 10.0.2.2, port = 52314
나는 지금 현재 기기가 ios인지 아닌지 판단해서 http://$ip/auth/login
이런 api를 호출하려고했다.
$ip
는 ios 시뮬레이터라면 127.0.0.1:3000
안드로이드 에뮬레이터는 10.0.2.2:3000
를 넣어주게해놨다
하지만 실제 기기를 사용하고있기때문에 로컬 nest 서버에 접속하는게 실패하는 상황인것으로 보인다.
해결
- 서버를 로컬에서 돌리지말고 서버를 띄운다음 그 서버 ip를 쓰거나
- 내 ip주소를 찾은다음 그걸로 바꿔주거나
일단 지금은 간단한 테스트중이라 1번은 좀 곤란했고 2번으로 해결했다
이 글 에서 찾은 해결책인데
ifconfig
명령어로 내 ip주소를 얻은다음 넣어줬다
위 이미지를 예로들면 $ip부분을 제거하고 이런식으로함
$ip = '192.168.0.109:3000';
'http://$ip/auth/login' << api 사용
이렇게하니까 정상작동한다.
'개발 > Flutter' 카테고리의 다른 글
[Flutter] web에서 회색화면나오는 버그 (0) | 2022.12.26 |
---|---|
[Flutter] container background gradient (0) | 2022.12.19 |
[Flutter] checkbox 크기 조절하기 (0) | 2022.12.13 |
ios 시뮬레이터 다른 버전 실행하기 (0) | 2022.12.07 |
ios 16 천지인 키보드(10 key) 입력 이상하게되는 문제 (해결X) (0) | 2022.12.07 |