簡體   English   中英

socket.io通過android應用程序將數據發送到node.js服務器

[英]socket.io emit data by android application to node.js server

我在通過Android應用程序向node.js服務器發射數據時遇到問題。

node.js服務器:

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

 app.listen(1000);

 app.on('connection', function (client) { 

   client.name = client.remoteAddress + ':' + client.remotePort;
   console.log(client.name + ' connected!'); 

    client.on('sensorChanged', function (data) {
       console.log(data);
    });
});

這是Android應用程序

private TextView txtView;
private SocketIO socket;

try {
    socket = new SocketIO("http://localhost:1000");
    socket.connect(this);
} catch (MalformedURLException e1) {
    txtView.setText(e1.getMessage());
}

socket.emit("sensorChanged", "asd");

當我啟動應用程序時,服務器會看到我的手機,但是當我發出事件時,服務器不會響應。 您知道問題出在哪里嗎?

我做到了

 socket.on("new message", new Emitter.Listener() {

        @Override
        public void call(Object... args) {

            JSONObject obj = (JSONObject) args[0];

            try {//do stuff here}
         catch(Exception){}
 }
}

我想這是來自android應用程序的代碼。 我將使用它,但是現在我需要從Android應用程序向節點服務器發射數據。 我認為問題出在這一行:

`socket.emit("sensorChanged", "asd");` 

但是看起來不錯

我這樣做:

    socket = new SocketIO();

    try {
        socket.connect("http://chat.socket.io", this);
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }

    socket.emit("new message", "hello TEST");

我不知道應該得到什么結果,但是我想我必須能夠在http://chat.socket.io上看到我的消息。 在這種情況下,它不起作用。

我遇到了同樣的問題,並通過添加用戶來解決。

mSocket.emit("add user", "Andhradroid");

暫無
暫無

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

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