簡體   English   中英

與Mac的Socket.IO連接

[英]Socket.IO connection to Mac

我想在MacAndroid phone之間創建一個簡單的Socket.IO連接。 當我連接android模擬器(通過提供本地主機地址)時,它可以正常工作,但是當我嘗試連接真實設備(在同一Wi-Fi上)時,它就無法工作。 有什么設置,我應該在Mac上啟用以允許設備連接到它嗎?

我的服務器代碼:

var io = require('socket.io').listen(1337);

io.sockets.on('connection', function (socket) {
    console.log("Someone just connected!");

    // Echo back messages from the client
    socket.on('image', function (message) {
        console.log("Got image of length: " + message.length);
        socket.emit('image', message);
    });
});

我的Android客戶端代碼:

 private fun connectToServer() {
        try {
            socket = IO.socket("http://192.168.1.5:1337/") // 10.0.2.2 for Emulator
            socket.on("connect", connected)
            startConnection = SystemClock.elapsedRealtime()
            socket.connect()
        } catch (e: URISyntaxException) {
            Toast.makeText(this, "ERROR", Toast.LENGTH_SHORT).show()
        }
    }

  private val connected: Emitter.Listener = Emitter.Listener {
        Log.d("AndroidClient", "Connection time: ${SystemClock.elapsedRealtime() - startConnection}")
    }

好了一會兒,我解決了。 Flutter似乎在后台添加了特殊的安全策略,必須在我們自己的Android應用程序中添加該策略,以允許通過HTTP而不是HTTPS進行連接。 我使用的解決方案2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM