uWebSockets - 将事件推送到服务器

时间:2017-02-19 06:44:27

标签: node.js websocket client

我有一个uWebSockets服务器,因为它似乎比socket.io服务器更加性能友好。 所以我有一台服务器,连接正常,经过一些麻烦我得到了index.html客户端进行连接,但现在我无法从客户端将事件推送到服务器。我做错了什么?

var WebSocketServer = require('uws').Server,
    express         = require('express'),
    path            = require('path'),
    app             = express(),
    server          = require('http').createServer(),
    createEngine    = require('node-twig').createEngine;

var wss = new WebSocketServer({server: server});

wss.on('connection', function (ws) {

    ws.on('join', function (value) {
        console.log('SOMEONE JUST JOINED');
    });

    ws.on('close', function () {
        //console.log('stopping client interval');
        clearInterval(id);
    });
});

server.on('request', app);

server.listen(8080, function () {
    console.log('Listening on http://localhost:8080');
});

的index.html

<script>
      var host = window.document.location.host.replace(/:.*/, '');
      var server = new WebSocket('ws://' + host + ':8080');
      server.onmessage = function (event) {
        updateStats(JSON.parse(event.data));
      };

      server.onopen = function (event) {
        server.send("Here's some text that the server is urgently awaiting!");
        server.send('join');
      };

      function something() {
        console.log('WORKED');
        server.send('join');
      }

    </script>

1 个答案:

答案 0 :(得分:1)

您没有在服务器端设置事件侦听器,它会接收并对邮件做出反应。像

ws.on('message', function (msg) {
    // Do something with the message received from the client
});