2017-02-19 3 views
0

私はuWebSocketsサーバを持っています。これは、socket.ioサーバよりはるかにパフォーマンスが優れているようです。 私はサーバーとそれがうまく接続されているといくつかのトラブルの後、私は接続するindex.htmlクライアント側を持っていますが、今私はクライアント側からサーバーにイベントをプッシュすることができません。私は間違って何をしていますか?uWebSockets - サーバにイベントをプッシュ

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'); 
}); 

あなたが受信したメッセージに反応しないサーバー側のイベントリスナのセットアップを持っていない

<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> 

答えて

0

index.htmlを。同様に

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

こんにちは。 私は持っていました ws.on( 'join'、function(value){ console.log( 'SOMEONE JUST JOINED'); }); は、サーバーにデータを送信するグローバルな方法(「メッセージ」)になっていますか? 私はsocket.ioの経験から、サーバーまたはクライアントのコードでは (サーバーまたはクライアント側)socket.on( 'handler_name'、cb)0​​と (サーバーまたはクライアント側)socket.emit( 'ハンドラ名、データ); – TheMan68

+0

大変ありがとうございます。 – TheMan68

+0

websocketは接続のため以外のグループやセッションの概念ではないので、 'join'はありません。 uwsはwebsocketインターフェイスを直接公開し、socket.ioのような高レベルのフレームワークAPIは公開しません。したがって、それらは直接比較可能ではなく、同じAPIを利用することはありません。 uws APIの仕組みを調べる必要があります。 Afaikはnode.js 'ws'モジュールのAPIと同じものです。 – Matthias247

関連する問題