我想知道是否可以使用Node.js制作便携式聊天应用程序。
我对便携式的意思是,如果有一个中心网站提供与Node.js的聊天服务,用户可以获取脚本代码(无论是基于JavaScript还是iframe
)并发布聊天节目在他们的网站上。
假设此应用程序托管在chatServer.com
chatScreen
,且表格输入足够,并且已链接了chatServer.com中的一个脚本或者
或者
如果我没记错的话,JSON数据不能跨不同的域进行交易。
你认为有可能提出这个申请吗?
我只是想知道是否可以构建它。
我见过一些使用'Python twisted'+'swf'
实现的类似网络聊天应用程序答案 0 :(得分:2)
如果使用socket.io,它只需使用jsonp进行跨域通信。
<script src="//chatServer.com/socket.io.js"></script>
<script>
var socket = io.connect('//chatServer.com');
socket.on('chat', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
</script>
答案 1 :(得分:0)
我在跨域遇到了问题 我的app.js代码是
var express = require('express'),
app = express();
var port = process.env.PORT || 8080;
// Initialize a new socket.io object. It is bound to
// the express app, which allows them to coexist.
var io = require('socket.io').listen(app.listen(port));
// Require the configuration and the routes files, and pass
// the app and io as arguments to the returned functions.
io.use(function(socket, next) {
var handshakeData = socket.request;
//console.log(handshakeData);
next();
});
// Require the configuration and the routes files, and pass
// the app and io as arguments to the returned functions.
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Access-Control-Allow-Methods", "GET,POST");
next();
});
require('./config')(app, io);
require('./routes')(app, io);
console.log('Your application is running on http://localhost:' + port);