Javascript Node.js中的跨域连接

Javascript Node.js中的跨域连接,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,我正在学习节点,有一个问题我似乎找不到答案。在下面的简约聊天服务器示例中,节点服务器希望客户端页面与服务器文件位于同一目录中,如果我正在为移动设备构建客户端应用程序,我将如何将数据发送回正确的客户端 var fs = require('fs') , http = require('http') , socketio = require('socket.io'); var server = http.createServer(function(req, res) {

我正在学习节点,有一个问题我似乎找不到答案。在下面的简约聊天服务器示例中,节点服务器希望客户端页面与服务器文件位于同一目录中,如果我正在为移动设备构建客户端应用程序,我将如何将数据发送回正确的客户端

    var fs = require('fs')
    , http = require('http')
    , socketio = require('socket.io');

var server = http.createServer(function(req, res) {
    res.writeHead(200, { 'Content-type': 'text/html'});
    **res.end(fs.readFileSync(__dirname + '/index.html'));** 
}).listen(8080, function() {
    console.log('Listening at: http://localhost:8080');
});

socketio.listen(server).on('connection', function (socket) {
    socket.on('message', function (msg) {
        console.log('Message Received: ', msg);
        socket.broadcast.emit('message', msg);
    });
});
你遇到了什么?如果是这样的话,也许为WebSocket使用phonegap iOS/Android插件会对你有所帮助

以下是
res.end(fs.readFileSync(uu dirname+'/index.html')表示:

  • 同步读取index.html文件的内容(位于服务器的当前目录中)

  • 在通过网络将文件内容发送给请求页面的客户端(可能是本地计算机、电话、internet上的计算机——任何可以访问服务器的人)后,结束HTTP响应。换句话说,节点充当页面index.html的HTTP服务器

  • Index.html可能包含一些与套接字相关的代码,指示客户端连接到服务器上的套接字(服务器的套接字由
    socketio.listen(服务器)
    创建)


  • 你能详细说明一下你的服务器和客户端应用程序之间的通信是如何工作的吗?我不确定我是否理解以下内容:
    如果我正在为移动设备构建客户端应用程序,我将如何将数据发送回正确的客户端
    对不起。我的意思是,如果我是client index.html,它是在Phonegap中编译的本地应用程序,并且驻留在个人的手机上,那么我如何将消息路由回客户端?res.end(fs.readFileSync(uu dirname+'/index.html');如果index.html在节点服务器上,我还没有遇到它,但我会记下它,以备以后使用。我认为我对节点框架的理解可能是错误的。行res.end(fs.readFileSync(uu dirname+'/index.html')是否结束;告诉节点服务器将响应发送到本地主机上的index.html?如何将它发送到客户机,另一个不是localhost
    res.end(fs.readFileSync(uu dirname+'/index.html'))的服务器
    表示1)同步读取index.html文件的内容(位于服务器的当前目录中)2)通过网络将文件内容发送给请求页面的客户端(可能是本地计算机、电话、internet上的计算机——任何可以访问服务器的人)后结束HTTP响应。换句话说,node充当页面index.html(3)index.html的HTTP服务器,可能包含一些与套接字相关的代码,指示客户端连接到服务器上的套接字。再搜索一些之后,从外部连接时似乎使用了emit()