I am trying to send image data from my TCP client to my TCP server both written in node.js
I have already tried doing it this way
client:
function onData(socket, data){
var data = Buffer.from(data).toString();
var arg = data.split(',');
var event = arg[0];
console.log(event);
if(event == 'screenshot'){
console.log(hostname)
console.log('control client uid ' + arg[1] + 'then we screenshot')
screenshot().then((img) => {
console.log(img)
socket.write('screenshotData,' + ','+ hostname +','+ img)
socket.write('stdout,' + arg[2] +',Screenshot')
}).catch((err) => {
console.log(err)
socket.write('error', err)
})
}
})
server
sock.on('data',function(data){
//right here i need to parse the first 'EVENT' part of the text so i can get cusotom tcp events and
var data = Buffer.from(data).toString();
var arg = data.split(',');
var event = arg[0];
if(event == 'screenshotData'){
agentName = arg[1]
img = arg[2]
console.log('agent-name ' + agentName)
console.log('screnshotdata' + img)
var dt = dateTime.create();
var formattedTime = dt.format('Y-m-d-H-M-S')
var folder = "adminPanel/screenshots/"
var filename = formattedTime+'-'+agentName +'.png'
console.log(filename);
fs.writeFile(folder+filename, img, function (err) {
console.log(err);
});
}
})
I had to build some rudimentary event system in TCP if you know a better way then let me know but anyways the client takes a screenshot and then it does socket.write('screenshotData', + ',' + hostname + ',' img)
but I think it sends the data in multiple chunks my console is showing random gibberish as a new event many times so I don't even know how I would do this any help would be great
from Sending image buffer to node.js tcp server
No comments:
Post a Comment