JavaScript WebSockets not working on mobile? -


i have webpage tries connect websocket node.js server, , works fine on desktop, not on mobile.

here server:

var websocket = require("websocket").server; var http = require("http");  var port = 12348;  var server = http.createserver(function (request, response) {     //console.log("server > received request for: " + request.url);     //response.writehead(404);     //response.end(); });  server.listen(port, function () {     console.log("listening on port " + port); });  socket = new websocket({     httpserver: server, });  socket.on("request", function (request) {     var connection = request.accept(null, request.origin);     console.log("connection accepted");      connection.send("welcome brd");     connection.send('type "brdhelp" help');      connection.on("message",      function (data) {         if (data.type === "utf8") {             var message = data.utf8data;              console.log("client > " + message);         }     });      connection.on("close",      function (reasoncode, description) {         console.log("server > " + connection.remoteaddress + " disconnected.");     }); }); 

here client on webpage:

//enables mozilla's built-in websocket if it's available window.websocket = window.websocket || window.mozwebsocket; var pageheight = window.innerheight ||document.documentelement.clientheight || document.body.clientheight || document.body.offsetheight;  connecttoserver();  function connecttoserver () {     connection = new websocket("ws://localhost:12348");      connection.onopen =      function () {         addresponseline("connected server, type \"help\" client help");     };      connection.onerror =      function (error) {      };      connection.onmessage =      function (message) {         addresponseline("server > " + message.data);     };      connection.onclose =      function () {         addline("disconnected server, type \"reconnect\" reconnect");     }; }  function checkinput () {     var event = window.event || event.which;      //when user presses enter, add input <p> , clear input     if (event.keycode == 13) {         event.preventdefault();         addline(document.getelementbyid("textinput").value);         document.getelementbyid("textinput").value = "";     }      //set height of input todo: when document loads     var newheight = ((pageheight - 20) - document.getelementbyid("consoletext").style.height);     if (document.getelementbyid("textinput").style.height != newheight) {         document.getelementbyid("textinput").style.height = newheight + "px";     } }  //this function outpput user, doesn't check commands function addresponseline (line) {     var newtext = document.createtextnode(line);     var br = document.createelement("br");     document.getelementbyid("consoletext").appendchild(newtext);     document.getelementbyid("consoletext").appendchild(br); }  //this function adding user's input <p>, can check commands function addline (line) {     if (line != "") {         line = line.tolowercase();         var newtext = document.createtextnode(line);         var br = document.createelement("br");         document.getelementbyid("consoletext").appendchild(newtext);         document.getelementbyid("consoletext").appendchild(br);          connection.send(line);     } } 

like said, works fine on desktop, not mobile.

are sure line connection = new websocket("ws://localhost:12348"); correct? iwould expect like

connection = new websocket("ws://xxx.yyy.zzz.kkk:12348"); 

expecially if nodejs part in localhost....


Comments