簡體   English   中英

無法在android socketio客戶端與socketio服務器之間建立連接

[英]Can't establish connection between android socketio client to socketio server

我正在嘗試使用Socket.IO開發一個聊天應用程序。 我的服務器端是Node.js,安裝了express + socket.io庫,我的客戶端是Android + Web。

我嘗試在我的客戶端使用所有這些罐子:

  1. 'com.github.nkzawa:socket.io-client:0.3.0' - 在socket.io網站上可以找到關於制作android到socketio服務器的教程。
  2. 'io.socket:socket.io-client:0.6.1' - 在nkzawa android chat demo repository中找到。
  3. 'com.github.nkzawa:socket.io-client:0.6.0' - 過去的另一個版本對我有用。

所有這些罐子都不適用於android方面。 在我的服務器端,我有最新版本--Socket.IO庫的1.3.7,我嘗試了上面的每個罐子連接到它。

我也嘗試使用Socket.IO版本1.3.6,它在過去對我有用,列表中的第3個jar。

另外,我試圖改變在Android端的URL http://10.0.2.2:3000http://192.168.1.100:3000每個這些JAR版本的...

筆記 -

  1. 注意 - 我在Android中使用genymotion。
  2. 我有INTERNET_PERMISSION。
  3. 服務器端的socket.io適用於Web瀏覽器(本地PC)。

這是我的服務器端:

var app = require('express')();
var bodyParser = require('body-parser');
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:false}));

io.on('connection', function(socket){
    console.log(socket.id);
    console.log('Client connected');
});

http.listen(3000, function(){
    console.log('listening on port 3000');
});

這是我的客戶方:

 private Socket mSocket;
    {
        try {
            mSocket = IO.socket("http://10.0.3.2:3000");
        } catch (URISyntaxException e) {
            throw new RuntimeException(e);
        }
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mSocket.connect();
        //setupActivity();
    }

我明白我對下一步該做什么一無所知,所以任何幫助都會幫助我吧:)謝謝

編輯 - 問題已解決。 顯然genymotion不需要10.0.3.2 ip連接到localhost所以我輸入了我的電腦IP地址,它工作。 順便說一句,我沒有想到遠程連接,這樣我可以消除問題,並知道問題是連接到IP地址。

解決方案來到這里,我幾乎錯過了它,因為它不是應該的位置。 (信用OP:Ido Magor):

問題已經解決了。 顯然genymotion不需要10.0.3.2 ip連接到localhost所以我輸入了我的電腦IP地址,它工作。 順便說一句,我沒有想到遠程連接,這樣我可以消除問題,並知道問題是連接到IP地址。

暫無
暫無

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

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