Я хочу подключить угловой 8 спереди к парусу js в бэкэнде через веб-сокет.но мой код не работаетможет кто-нибудь помочь по пути
в бэкэнде, я просто сделал следующее: в контроллере:
/**
* SocketController
*
* @description :: Server-side actions for handling incoming requests.
* @help :: See https://sailsjs.com/docs/concepts/actions
*/
module.exports = {
subscribe: function(req, res) {
if( ! req.isSocket) {
return res.badRequest();
}
console.log('here is socket');
// sails.sockets.join(req.socket, 'feed');
// var roomName = req.param('roomName');
var roomName = 'feed';
sails.sockets.join(req, roomName, (err) => {
if (err) {
return res.serverError(err);
}
return res.json({
message: 'Subscribed to a fun room called '+roomName+'!'
});
});
return res.ok();
}
};
в модели
/**
* Session.js
*
* @description :: A model definition represents a database table/collection.
* @docs :: https://sailsjs.com/docs/concepts/models-and-orm/models
*/
module.exports = {
attributes: {
sessionId: {
unique: true,
required: true,
type: 'string'
},
date: {
required: true,
type: 'string',
},
ip: {
required: true,
type: 'string',
},
hostname: {
required: true,
type: 'string',
},
device: {
type: 'string',
}
},
afterCreate: function(entry, cb) {
console.log('afteeeeeeeeeeeeer')
sails.sockets.broadcast('feed', 'new_entry', entry);
sails.sockets.join(req, roomName, (err) => {
if (err) {
return res.serverError(err);
}
return res.json({
message: 'Subscribed to a fun room called '+roomName+'!'
});
});
return res.ok();
cb();
}
};
и в угловом я сделал услугу:
import { Injectable } from '@angular/core';
import * as io from 'socket.io-client';
import {Observable} from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class SocketService {
private socket: SocketIOClient.Socket;
constructor() {
// this.socket = io.connect('http://localhost:8000');
// this.socket = io.connect();
this.socket = io('http://127.0.0.1:1337');
}
// EMITTER
sendMessage(msg: string) {
console.log('message');
this.socket.emit('sendMessage', { message: msg });
}
// HANDLER
onNewMessage() {
return Observable.create(observer => {
console.log('sennnnnnnnnd')
this.socket.on('newMessage', msg => {
console.log('backkkk')
observer.next(msg);
});
return () => {
this.socket.disconnect();
};
});
}
}
но когда я запускаю angular, каждую секунду выдается следующая ошибка: GET http://127.0.0.1:1337/socket.io/?EIO=3&transport=polling&t=MlQ7CIY 400 (неверный запрос)
что мне делать?