마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

[코틀린] soket.io 통신 관련 질문입니다.

0 추천

현재 Node.js를 통해서 server를 구현했고, kotlin을 통해서 안드로이드 client를 구현했습니다.

구글링을 통해서 연결까지만! 해보자 하여

try {
    mSocket = IO.socket("[uri]")

} catch(e: URISyntaxException) {
    Log.e("socket", "$e")
}

mSocket.connect()

 

이렇게 만들고 서버측에서 확인해보니 아무런 로그도 찍히지가 않습니다.

gradle이나 manifest에 해줘야하는 기본적인 설정들도 모두 완료했습니다.

mSocket을 로그찍어보니, socket@~~~ 이런식으로 뜨는데,

mSocket.conneted를 통해 연결되었는지 true/false를 찍어보면 false로 찍힙니다.

현재 웹, ios, 안드로이드 에서 개발중인데, 다른 툴에서는 서버에 연결이 되었다고 로그가 찍히는 상황이라 백엔드 쪽 실수는 아닌듯 합니다ㅠ

어떻게 연결해야할까요? 연결까지는 구글링했을때 쉬운 작업이라 생각했는데, 제일 처음 연결하는 부분부터 막히니 막막하네요..

hand (1,150 포인트) 님이 2022년 3월 15일 질문
안녕하세요 좋은 아침입니다. 에뮬레이터에서 테스트를 진행하였으나, 루프백 주소가 아닌, 서버에서 포트번호 3001로 열어서 저한테 보내준 주소를 통해서 진행하였습니다..
Android OS 버전에 따라 ClearText 를 지원하지 않기 때문에, NetworkSeccutiryConfig를 설정하셔야 하는지 체크해 보세요.
https://appsec-labs.com/portal/understanding-the-android-cleartexttrafficpermitted-flag/
https://developer.android.com/training/articles/security-config

제 경험으로는 networkSecurityConfig를 제대로 설정해도 되지 않는 경우가 생기더라구요.
실제 디바이스로 테스트 하는게 골치가 덜 아프긴 합니다.
자료 찾아주셔서 정말 감사합니다!!
디바이스로도 테스트 진행해봐야겠네요

많은 도움 주셔서 다시 한번 감사드립니다!
spark님 도움주셔서 정말 감사드립니다. 에뮬레이터에서 테스트 진행해서 안됐던거였습니다. 디바이스를 통해 테스트해보니 서버측에서 socket.id 잘 찍히네요!
해결하셨다니 잘 됐네요.

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...