Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android to node.js communication

Tags:

I saw there are a couple of similar threads but i could not find my answer.

I'm making and android app, an i want to use node as server for real time communication.

I really cannot get this to work.

Probably I'm making many many things wrong but i like to try to understand.

My server is as simple as

var http = require('http'),   io = require('socket.io'), server = http.createServer(function(req, res){       res.writeHead(200, {'Content-Type': 'text/html'});       res.end(':)');  }); server.listen(8080); var socket = io.listen(server);  socket.on('connection', function(client){     client.send("hello");     console.log("connected!"); }); 

and this works... I tried this with a web app and I can connect.

But I can't with java..

I tried kryonet but I get an exception like "connected but timeout on registration"

I tried weberknecht I get a "error while creating socket to ws://184.xxxxxx:8080"

I tried TooTallNate, no luck, it just call onClose method.

I tried jWebSocket but I couldn't get it to work...

So I'm here, asking for help, does anyone knows how to get this done? any suggestion?

P.S. for TooTallNate I'm using something like this:

Net net = new Net(new URI("ws://184.xxxxxx:8080"),WebSocketDraft.DRAFT76); 

might the problem be here?

UPDATE: I handled this! after a good sleep I had the idea, I was using socket.io, bad idea... now I use Node Websocket Server with weberknecht. The server looks like this:

var ws = require("websocket-server");  var server = ws.createServer();  server.addListener("connection", function(client){     console.log("new connection");     client.send("aaaaaa");     client.addListener("message", function(msg){     }); });  server.listen(8080); 

and the client:

try {     URI url = new URI("ws://184.106.69.64:8080/");     WebSocket websocket = new WebSocketConnection(url);     websocket.setEventHandler(new WebSocketEventHandler() {         public void onOpen(){             System.out.println("--open");         }             public void onMessage(WebSocketMessage message){             System.out.println("--received message: " + message.getText());         }            public void onClose(){             System.out.println("--close");         }     });      websocket.connect();     websocket.send("hello world"); } catch (WebSocketException wse) {     wse.printStackTrace(); } catch (URISyntaxException use) {     use.printStackTrace(); }