如何使用socket.io模块从android向nodejs服务器发送数据?

如何使用socket.io模块从android向nodejs服务器发送数据?,android,node.js,websocket,socket.io,google-api-nodejs-client,Android,Node.js,Websocket,Socket.io,Google Api Nodejs Client,我写了这个node.js服务器。但是当我用socket.io模块从android发送数据时。但是我得到了错误。请帮助我?如何将数据(发送者、消息)从android发送到node.js服务器 node.js服务器 var io = require('socket.io').listen(8001); var connectCounter=0; console.log('Server running :'); // open the socket connection io.sockets.on(

我写了这个node.js服务器。但是当我用socket.io模块从android发送数据时。但是我得到了错误。请帮助我?如何将数据(发送者、消息)从android发送到node.js服务器

node.js服务器

var io = require('socket.io').listen(8001);
var connectCounter=0;
console.log('Server running :');

// open the socket connection
io.sockets.on('connection', function (socket) {
  connectCounter++;
  console.log('bağlantı başarılı sayı:');
  console.log(connectCounter);

  //Recode user online
  var sender;
  socket.on('user-online',function(data){

    console.log('user-online');

    var obj = JSON.parse(data);
    sender = obj.sender;

    console.log(sender);

    socket.broadcast.emit('online',{sender : sender});
  });

    socket.on('message', function(message){

    console.log('on-message');

    var obj = JSON.parse(message);
        socket.broadcast.emit('event',{sender : obj.sender, message : obj.message});
    console.log(message);
    });

  socket.on('disconnect', function (socket){

     console.log('disconnect');
     connectCounter--;
    socket.broadcast.emit('offline',{sender : sender})
  });

});
这是一个android代码

btnOK.setOnClickListener(new View.OnClickListener() {
        public void onClick(View arg0) {
            strUserName = edtUserName.getText().toString();
            if (strUserName != null && strUserName.length() > 0 || !"".equals(strUserName)) {
                Intent intent = new Intent(getApplicationContext(), ScreenChat.class);
                intent.putExtra("UserName", strUserName);
                startActivity(intent);
                edtUserName.getText().clear();
            }else {
                Toast.makeText(getApplicationContext(), "user name null", Toast.LENGTH_SHORT).show();
                return;
            }

            SocketIO socket;
            try {
            socket = new SocketIO("http://192.168.9.43:8001/");
            socket.connect(new IOCallback() {
                public void onMessage(JSONObject json, IOAcknowledge ack) {
                    try {
                        System.out.println("Server said:" + json.toString(2));
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }

                public void onMessage(String data, IOAcknowledge ack) {
                    System.out.println("Server said: " + data);
                }

                public void onError(SocketIOException socketIOException) {
                    System.out.println("an Error occured");
                    socketIOException.printStackTrace();
                }

                public void onDisconnect() {
                    System.out.println("Connection terminated.");
                }

                public void onConnect() {
                    System.out.println("Connection established");
                }

                public void on(String event, IOAcknowledge ack, Object... args) {
                    System.out.println("Server triggered event '" + event + "'");
                }
            });

            // This line is cached until the connection is establisched.
            socket.send("Hello Server!");
            } catch (MalformedURLException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
        }

        @SuppressWarnings("unused")
        public void onClick(final DialogInterface arg0, final int arg1) {
            // TODO Auto-generated method stub

        }
    });
当我单击btnOK(您可以看到上面的代码)时,我得到以下错误:
您正在发送一个字符串,并试图将其解析为JSON

socket.send("Hello Server!");

var obj = JSON.parse(message);

“Hello Server!”
不是有效的JSON。

尝试时,它一定错过了。你很小心。谢谢:)。要查找连接数,您知道更好的方法吗?我使用var connectcounter。