My end goal is to stream video from my laptop to a server. I\'m trying to accomplish this by using NodeJs on the laptop & the server. I use the OpenCV library to capture the
I suspect you're seeing end event while the last bit of data is still buffered.
Try waiting for the close event rather than the end event. I'm not sure about sockets, but in other Node APIs like spawn, the end event is fired early, before related streams are flushed, so there may still be buffered data waiting.
You could avoid managing this yourself by piping. Use fs.createWriteStream() and .pipe() the socket stream to the file.