2016-09-01 7 views
1

socket.ioによって放出された値を受け取る際に問題が発生していますが、どこに問題があるのか​​わかりません。ここでコードを投稿して問題を解決するのを手伝ってください。Socket.ioが値を出力していません

var express = require('express'); 
var app = express(); 
var http = require('http').Server(app); 
var io = require('socket.io')(http); 
var bodyParser = require('body-parser'); 
var path = require('path'); 
var fs = require('fs'); 
var spawnSync = require('child_process').spawnSync; 

.... 

app.post('/loadImage',upload.any(),function(req, res) { 
     fs.readFile('/home/pathtofile/file.json','utf8',function(err,data){ 
       if(err){ 
        console.log(err); 
       }else{ 
        //console.log(data); 
        var precjson = JSON.parse(data); 
        var loaded_filename = precjson.Filename; 
        io.emit('emitfilename',{loaded_filename}); 
       } 
      }) 
} 
http.listen(8080,'0.0.0.0',function(){ 
    console.log('listening on 8080'); 
}) 

そして、ここで私が放出された値受け付けております私のコードです:代わりにファイル名を取得する

<script type="text/javascript"> 
    var socket = io.connect('http://localhost:8080'); 

     socket.on('emitfilename',function(data){ 
     //console.log(data); 
     var li = document.createElement('li'); 
     var filename = document.createElement('h4'); 

     filename.textContent = 'File Name:' + data.filename; 
     li.appendChild(filename); 

     document.getElementById('filenameoutput').appendChild(li); 
    }); 
</script> 

を、私は未定義を取得しています。誰でも私を助けてください。

答えて

1

"io"変数を使用してデータを送信することはできません。それはあなたの問題を解決ホープ全てのソケット

io.sockets.emit('users_count', clients); 

に発光するように

io.on('connection', function (socket) { 
    socket.emit('news', { hello: 'world' }); 
    socket.on('my other event', function (data) { 
    console.log(data); 
    }); 
}); 

または使用io.sockets:あなただけのデータを送信するために接続されたクライアントの現在のソケットを使用することができます!ありがとう!

+0

こんにちは、答えに感謝します。今、私はブラウザコンソールでデータを受け取ることができます。しかし、私はブラウザに表示することができません。私は自分のコードを編集しました。手伝ってくれませんか。 – naik3

+0

私のコードの最後の部分。サーバーから値を受け取っています。ブラウザに表示しようとしています – naik3

+0

ここに私の値を表示しようとしている私のhtml要素IDです。 ' filename' – naik3

関連する問題