我正在开发游戏应用。我已经开始通过FB授权,现在我卡在连接前端角度与后端节点。 我的文件夹包含2个子文件夹,它们之间没有任何连接或依赖关系:客户端和服务器。
客户端包含基于角度生成器的scaffolded yeoman应用程序,以便使用 grunt serve 触发我的前端。我在这里使用btford的angular-socket-io。
服务器只包含基本服务器,当有人通过socket.io连接时,它允许连接和登录到控制台。
我的问题在于客户端文件夹,前端部分,其中:
angular.module('battleshipsApp')
.factory('socket', function (socketFactory) {
var myIoSocket = io.connect('http://localhost:5432');
var mySocket = socketFactory({
ioSocket: myIoSocket
});
return mySocket;
});
不起作用。
我想我把我需要的东西联系起来了:
src="bower_components/angular-socket-io/socket.js"
<!-- endbower -->
<!-- endbuild -->
src="bower_components/angular-socket-io/mock/socket-io.js"
这是我的简单服务器:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
io.sockets.on('connection', function(socket){
var logIn = new Date();
console.log(logIn + ' user connected')
socket.on('disconnect', function() {
var logOut = new Date();
console.log(logOut + ' bye bye')
})
});
http.listen(5432, function(){
console.log('listening on localhost:5432');
});
我无法弄清楚为什么这两个无法连接。 我找不到任何适合我在谷歌问题的答案。 我现在正在两个终端上看,一个是 grunt serve ,一个是 nodemon server.js ,没有错误,没有连接。 此外,前端端的chrome工具控制台上没有错误。
有任何帮助吗?或者也许这个应用程序的方法与我的结构不好?
答案 0 :(得分:0)
我猜您需要添加到您的服务器:
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});