Stream a file to a socket.io client.
JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.mkd
client.js
index.js
package.json
test.html

README.mkd

siofile - read files over socket.io

server

  var siofile = require('siofile')

  io.sockets.on('connection', function (socket) {
    socket.on('siofile', siofile(socket))
  })

This is incredibly insecure because it allows all clients access to your entire filesystem.

Instead.

  socket.on('siofile', siofile(socket, '/home/me/myfile'))

Or you can give a list of files you want to make available.

  socket.on('siofile', siofile(socket, ['/home/me/myfile1', '/home/me/myfile2']))

browser

  <script src="/socket.io/socket.io.js"></script>
  <script>
    var socket = io.connect('http://localhost')
    
    socket.on('connect', function () {
      siofile(socket).read('/home/me/myfile', function (err, data) {
        console.log(err, data)
      })
    })
    
  </script>

Alternatively, you can also watch a file, which will first read the contents and then call your callback again every time new data is appended to the file. This is ideal for watching log files.

  siofile(socket).watch('/home/me/myfile', function (err, data) {
    console.log(err, data)
  })