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

안드로이드 nodejs사용해서 소켓 통신 시 연결이 안됩니다.

0 추천

안녕하세요 이번에 소켓통신을 통해서 안드로이드 통신을 해보려고 하는데요.

nodejs와 안드로이드로 소켓통신을 구현해봤는데 검색해서 나온 코드를 그대로 적어도

제대로 동작하지 않는 것 같아서 질문 올립니다.

코드는 아래와 같이 연결 되는지만 확인하려고 작성했습니다.

package com.example.exam

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import io.socket.client.IO
import io.socket.client.Socket
import java.net.URISyntaxException

class MainActivity : AppCompatActivity() {
    lateinit var socket: Socket

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        try {
            socket = IO.socket("IP")
        } catch (e: URISyntaxException) {
            e.printStackTrace();
        }

        socket.connect()
    }

}
var app = require('express')();
var server = require('http').createServer(app);
var io = require('socket.io')(server);

app.get('/', (req, res) => {
  res.send("hello")
})

io.on('connection', function(socket) {
  console.log("user connect");

});

server.listen(3000, function(){
  console.log("server on 3000");
});
사용중인 언어는 코틀린입니다.
bonon (620 포인트) 님이 2021년 2월 3일 질문

1개의 답변

+1 추천
소켙은 네트워크 동작이므로 메인 쓰레드 안에서 여시면 안될 것 같은데요. 백그라운드 쓰레드로 옮겨보세요.
spark (227,470 포인트) 님이 2021년 2월 3일 답변
코루틴 써서 IO로  돌려봣는데도 안되네요 ㅠㅠ
안된다면, 안되는 이유가 로그에 나와 있을 겁니다. 로그를 확인해 보세요.
...