Я использую этот код для обработки запроса пользователя на сервере веб-сокетов:
var WebSocketServer = require('websocket').server;
var http = require('http');
var server = http.createServer(function(request, response) {
console.log((new Date()) + ' Received request for ' + request.url);
response.writeHead(405);
response.end();
});
server.listen(3333, function() {
console.log((new Date()) + ' Server is listening on port 3333');
});
wsServer = new WebSocketServer({
httpServer: server,
autoAcceptConnections: false
});
function originIsAllowed(origin) {
// put logic here to detect whether the specified origin is allowed.
return true;
}
wsServer.on('request', function(request) {
if (!originIsAllowed(request.origin)) {
// Make sure we only accept requests from an allowed origin
request.reject();
console.log((new Date()) + ' Connection from origin ' + request.origin + ' rejected.');
return;
}
var connect = request.accept('register', request.origin)
connect.on('message', function(messageText) {
// do business logic here if message coming into the register channel
})
connect.on('close', function(reasonCode, description) {
console.log((new Date()) + ' Peer ' + connect.remoteAddress + ' disconnected.');
});
})
Теперь, как я могу создать другой канал для обработки других типов сообщений?
Iпробовал это, но получаю WebSocketRequest may only be accepted or rejected one time.
сообщение об ошибке:
var connect = request.accept('register', request.origin)
connect.on('message', function(messageText) {
// business logic here if message coming into the register channel
})
var getPhotos = request.accept('get_photos', request.origin)
getPhotos.on('message', function(messageText) {
// business logic here if message coming into the get_photos channel
})
Как я могу обрабатывать несколько каналов?Возможно ли это с websocket
npm пакетом?