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');
});
的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>
你好。 我確實有 ws.on('join',function(value){ console.log('SOMEONE JUST JOINED'); }); 是('message')發送數據到服務器的全局方式? (服務器端或客戶端)socket.on('handler_name',cb) 和 (服務器端或客戶端)socket.emit('服務器端或客戶端端)socket.io服務器或客戶端代碼 handler_name',data); – TheMan68
非常感謝您的幫助 – TheMan68
我認爲沒有'join',因爲websockets不會因爲連接而不是組或會話的概念。 uws直接公開了一個websocket接口,而不是像socket.io這樣的高級框架API。因此它們不能直接比較,並且不會使用相同的API。你應該看看uws API的工作原理。 Afaik也是與node.js'ws'模塊的API相同的API。 – Matthias247