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