File size: 1,424 Bytes
baa8e90
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import WebSocket, { WebSocketServer } from 'ws';
import fs from 'fs';


const wss = new WebSocketServer({
    port: 8080,
});
wss.on("connection", (ws) => {
    console.log("WebSocket client connected");

    // Event listener for receiving messages from the client
    ws.on("message", (message) => {
        try {
            const parsed = JSON.parse(message)
            saveBase64Image(parsed.base64_img, parsed._requestId + '_image.webp');
        } catch (e) {
            console.log("Error occured when getting a message", e)
        }
    });

    // Event listener for the WebSocket connection closing
    ws.on("close", () => {
        console.log("WebSocket client disconnected");
    });
});

function saveBase64Image(base64String, filePath) {
    const binaryData = Buffer.from(base64String, 'base64');

    fs.writeFile(filePath, binaryData, 'binary', (err) => {
        if (err) {
            console.error('Error saving the image:', err);
        } else {
            console.log('Image saved successfully:', filePath);
        }
    });
}
console.log("Listening on 8080")

function sendMessage(message) {
    wss.clients.forEach((client) => {
        console.log("Messaging Everyone a hi")

        if (client.readyState === WebSocket.OPEN) {
            client.send(message);
        }
    });
}


let i = 0
setInterval(() => sendMessage(JSON.stringify({
    _requestId: ++i,
    prompt: "Cow"
})), 5000)