簡體   English   中英

Node.js中的跨域連接

[英]Cross domain connections in Node.js

我正在學習Node,並且有一個似乎找不到答案的問題。 在下面的簡約聊天服務器示例中,節點服務器希望客戶端頁面與服務器文件位於同一目錄中,如果我正在為移動設備構建客戶端應用程序,我如何將數據發送回適當的位置客戶?

    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(__dirname + '/index.html')); 手段:

  1. 同步讀取文件index.html的內容(位於服務器的當前目錄中)

  2. 通過網絡將文件的內容發送給請求頁面的客戶端(可以是本地計算機,電話,互聯網上的計算機-可以訪問服務器的任何人)后,結束HTTP響應。 換句話說,節點充當頁面index.html的HTTP服務器。

  3. Index.html可能包含一些與套接字相關的代碼,這些代碼指示客戶端連接到服務器上的套接字(服務器的套接字由socketio.listen(server)創建)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM