2016-04-15 12 views
0

こんにちは私はnodeJSで新しく、新しいリクエストが到着したときにメッセージをブロードキャストしようとしています。リクエストが到着している間にnodeJSを呼び出す

私はAjaxの呼び出しをしようとし、すべてのブラウザにTTYPE変数とブロードキャスト送信が、私は働いていない

socket.emit('date', {'date': ttype}); 

到着要求したときに私の問題はあるのです。しかし、私はnodeJsコンソールでそれをチェックすると、show tyypeであり、それは価値があります。ここに私のコードがあります

var http = require('http'); 
var url = require('url'); 
var fs = require('fs'); 
var server; 


var ttype = ""; 

    server = http.createServer(function(req, res){ 
     // your normal server code 
     var path = url.parse(req.url).pathname; 
     var queryObject = url.parse(req.url,true).query; 
     ttype = queryObject.type; 

     switch (path){ 
      case '/': 


       fs.readFile(__dirname + path + "test.html", function(err, data){ 
        if (err){ 
         console.log('error'); 
         //return send404(res); 
        } 

        res.writeHead(200, {'Content-Type': path == 'json.js' ? 'text/javascript' : 'text/html'}); 
        res.write(data, 'utf8'); 
        res.end(); 
        sendMessage(ttype); 

       }); 
       break; 
      case '/test.html': 
       fs.readFile(__dirname + path, function(err, data){ 
        if (err){ 
         return send404(res); 
        } 
        res.writeHead(200, {'Content-Type': path == 'json.js' ? 'text/javascript' : 'text/html'}); 
        res.write(data, 'utf8'); 
        res.end(); 
       }); 
      break; 
      default: send404(res); 
     } 
    }), 

    send404 = function(res){ 
     res.writeHead(404); 
     res.write('404'); 
     res.end(); 
    }; 

    server.listen(8076); 
    sendMessage = function(ttype){ 

     var iio = require('socket.io').listen(server); 
     iio.sockets.on('connection', function(socket){ 
      socket.emit('date', {'date': ttype}); 
      console.log('in side connection'); 
     }); 
    } 

    // use socket.io 
    var io = require('socket.io').listen(server); 
    // define interactions with client 
    io.sockets.on('connection', function(socket,data){ 

     socket.emit('date', {'date': ttype}); 

     setInterval(function(){ 
       //socket.emit('date', {'date': new Date()}); 
     }, 5000); 
     //recieve client data 
     socket.on('client_data', function(data){ 
      process.stdout.write(data.letter); 
     }); 
    }); 
+0

は、なぜあなたは同じポート上の2台の別々のsocket.ioサーバを起動している:あなたがしなければならないだろうすべてはにあなたのsendMessage関数を変更するのですか?それはうまくいかないでしょう。 – jfriend00

+0

@ jfriend00ここに私のビューのsocket.ioコードです。

関連する問題