Cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

wss server trouble

I want to use messaging API (wensocket API) 
So I made wss server and client in my linux server. 
But it didn't work 
when I use ws protocol, The server works well. 
But when I use wss protocol, The server doesn't work. 

I don't know what this problem is. 

Under is my code. 

 

const express = require('express')
const ws = require('./ws')
const fs = require('fs')
const https =require('https');
const http = require('http');
const app = express()

const options = {
        key: fs.readFileSync( __dirname +  '/key.pem', 'utf8'),
        cert: fs.readFileSync( __dirname + '/server.crt', 'utf8')
};

app.get('/', function (req, res) {
        res.sendFile(__dirname + '/jh.html');
})

var server = https.createServer(options,app);
server.listen(5000, function ()
        {
                console.log('Example app listening on port 5000!')
        })

http.createServer(app).listen(8089,function()
        {
                console.log('Example app listening on port 8089!')
        })
 <!DOCTYPE html>
  <meta charset="utf-8" />
  <title>WebSocket Test</title>
  <script language="javascript" type="text/javascript">

  var wsUri = "wss://Using IP:Port";
  var output;

  function init()
  {
    output = document.getElementById("output");
    testWebSocket();
  }

  function testWebSocket()
  {
    websocket = new WebSocket(wsUri);
    websocket.onopen = function(evt) { onOpen(evt) };
    websocket.onclose = function(evt) { onClose(evt) };
    websocket.onmessage = function(evt) { onMessage(evt) };
    websocket.onerror = function(evt) { onError(evt) };
  }

  function onOpen(evt)
  {
    writeToScreen("CONNECTED");
    doSend("WebSocket rocks");
  }

  function onClose(evt)
  {
    writeToScreen("DISCONNECTED");
  }

  function onMessage(evt)
  {
    writeToScreen('<span style="color: blue;">RESPONSE: ' + evt.data+'</span>');
    websocket.close();
  }

  function onError(evt)
  {
    writeToScreen('<span style="color: red;">ERROR:</span> ' + evt.data);
  }

  function doSend(message)
  {
    writeToScreen("SENT: " + message);
    websocket.send(message);
  }

  function writeToScreen(message)
  {
    var pre = document.createElement("p");
    pre.style.wordWrap = "break-word";
    pre.innerHTML = message;
    output.appendChild(pre);
  }

  window.addEventListener("load", init, false);

  </script>

  <h2>WebSocket Test</h2>

  <div id="output"></div>
const wss = new WebSocketServer({port:8080})
//const wss = new WebSocketServer({port:443})
wss.on('connection', function connection(ws) {
          ws.on('message', function incoming(message) {
                      console.log('received: %s', message)
                    })

          setInterval(
                      () => ws.send(`${new Date()}`),
                      5000
                    )
})

 

error code is under

clipboard_image_0.png

 

 

please give me answer. 

when I use websocket echo server , it works. 

Best Answer
0 Votes
1 REPLY 1

Generally this has nothing to do with the Fitbit API, and since the screenshot with error is illegible, I can only suggest to:

- use a Node WebSocket lib (like https://github.com/websockets/ws) Example: https://github.com/websockets/ws#external-https-server

- check that your SSL certificates are correct

- provide a better quality error screenshot

 

 
Best Answer
0 Votes