Quantcast
Channel: Ionic Forum - Latest topics
Viewing all articles
Browse latest Browse all 70612

Are Cordova Chrome App(CCA) plugins compatible w/ Cordova/ionic app

$
0
0

@bwertman wrote:

I have an ionic app that needs to make a TCP socket connection between it and a Wifi access point(no internet just a local access point).

The only library I could find for doing this from the client side was Chrome Sockets(Deprecated) and Chrome Sockets TCP

I was able to create the TCP socket, connect, send and receive with the deprecated version. But I always got the same string back in the response that I sent over the connection which was not the expected behavior.

When I moved to the supported Chrome Sockets TCP lib I could create the socket but not connect to it. I came across this CCA command line tool tutorial after seeing some Stack Overflow posts talking about a manifest.mobile.json file which I did not have in my ionic app.

I installed the CCA command line tool and ran through the tutorial to create a basic CCA app. I grabbed the generated manifest.mobile.json file from that and through it in the www folder of mine and tried to connect again with no better results. Here is the generated manifest.mobile.json file with a few lines I added based on ;

 {
  "packageId": "com.your.company.ChromeApp",
  // Android-only overrides here (e.g. icons, name, version)
  "android": {
  },
  // iOS-only overrides here (e.g. icons, name, version)
  "ios": {
  },
  // Uncomment to use system WebView rather than Crosswalk
   "webview": "system",

  // Uncomment to enable use of eval()
   "cspUnsafeEval": true,

  // Uncomment to enable use of inline <script>
   "cspUnsafeInline": true,

   "sockets": {
      "tcp": {"connect" : "*"}
   }
}

And this is the code used to make and connect to the tcp socket

 chrome.sockets.tcp.create(function(createInfo) {
            chrome.sockets.tcp.connect(createInfo.socketId, 'MY_IP', MY_PORT, function(result) {
              if (result === 0) {
                chrome.sockets.tcp.send(createInfo.socketId, PID, function(result) {
                  if (result.resultCode === 0) {
                    console.log('connectAndSend: success');
                    chrome.sockets.tcp.disconnect(createInfo.socketId);
                    chrome.sockets.tcp.close(createInfo.socketId);
                  }
                });
              }
            });
          });

And the error message I get

failed to connect to /MY_IP (port MY_PORT): connect failed: ENETUNREACH (Network is unreachable)
callbackWithError @ errors.js:30
fail @ sockets.tcp.js:68
cordova.callbackFromNative @ cordova.js:293
processMessage @ cordova.js:1079
processMessages @ cordova.js:1102

Posts: 9

Participants: 2

Read full topic


Viewing all articles
Browse latest Browse all 70612

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>