通过node.js实现的websocket接收和更新图像
我不是程序员。。。 我可以在node.js中创建一个websocket应用程序,它可以向borwser发送一个图像,但是我会有一些图像,有时会发生变化。 前任。 图1.jpg 图像2.jpg 图像3.jpg 图像4.jpg 我需要在浏览器中不断更新这些图像 我的应用程序现在只能处理一个图像,无需更新。 整个项目包括: 我使用以下代码发布图像:通过node.js实现的websocket接收和更新图像,node.js,websocket,Node.js,Websocket,我不是程序员。。。 我可以在node.js中创建一个websocket应用程序,它可以向borwser发送一个图像,但是我会有一些图像,有时会发生变化。 前任。 图1.jpg 图像2.jpg 图像3.jpg 图像4.jpg 我需要在浏览器中不断更新这些图像 我的应用程序现在只能处理一个图像,无需更新。 整个项目包括: 我使用以下代码发布图像: io.sockets.on('connection', function(socket){ fs.readFile(__dirname + '/image
io.sockets.on('connection', function(socket){
fs.readFile(__dirname + '/image.jpg', function(err, buf){
//it's impossible to ebed binary data
socket.emit('image', { image: true, buffer: buf.toString('base64') });
console.log('image file is initialized: ' + __dirname + '/image.jpg');
});});
我可以检查文件更新,但无法在浏览器上自动更新:
var watch = require('node-watch');
watch('image.jpg', function(evt, filename) {
console.log(filename, ' changed.');
});
请帮助我在borwser中自动更新图像。之后,我可能可以将该代码应用于许多图像。您可以使用以下代码发送更改后的图像
io.sockets.on('connection', function(socket) {
connections.push(socket);
console.log('Connected: %s sockets connected', connections.length);
// Diconnect
socket.on('disconnect', function(data) {
connections.splice(connections.indexOf(socket), 1);
console.log('Disconnected %s sockets connected', connections.length);
});
fs.readFile(__dirname + '/image.jpg', function(err, buf) {
//it's impossible to ebed binary data
socket.emit('image', { image: true, buffer: buf.toString('base64') });
console.log('image file is initialized: ' + __dirname + '/image.jpg');
});
});
var watch = require('node-watch');
watch('image.jpg', function(evt, filename) {
if (evt === 'update') {
fs.readFile(__dirname + '/image.jpg', function(err, buf) {
for (var i = 0; i < connections.length; i++) {
//it's impossible to ebed binary data
connections[i].emit('image', { image: true, buffer: buf.toString('base64') });
console.log('image file is initialized: ' + __dirname + '/image.jpg');
}
});
}
});
io.sockets.on('connection',函数(socket){
连接。推(插座);
console.log('Connected:%s sockets Connected',connections.length);
//双向连接
socket.on('disconnect',函数(数据){
连接件.接头(连接件.索引(插座),1);
console.log('断开连接的%s套接字',连接.长度);
});
readFile(uuu dirname+'/image.jpg',函数(err,buf){
//不可能对二进制数据进行ebed
emit('image',{image:true,buffer:buf.toString('base64')});
log('图像文件已初始化:'+\uu dirname+'/image.jpg');
});
});
var-watch=require('node-watch');
watch('image.jpg',函数(evt,文件名){
如果(evt==‘更新’){
readFile(uuu dirname+'/image.jpg',函数(err,buf){
对于(变量i=0;i
您可以在查看完整的项目。我可以为多个文件编写代码,现在我可以显示自定义数量的图像。