w12_node exercise

This commit is contained in:
Andrea Bianchi 2025-05-13 22:17:33 +09:00
parent 8827db575b
commit 8a67292ac0
8 changed files with 1270 additions and 0 deletions

1
w12_node/save-dots/client/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.vscode/**

View File

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.11.3/p5.min.js"
integrity="sha512-I0Pwwz3PPNQkWes+rcSoQqikKFfRmTfGQrcNzZbm8ALaUyJuFdyRinl805shE8xT6iEWsWgvRxdXb3yhQNXKoA=="
crossorigin="anonymous"
></script>
<script src="https://cdn.socket.io/3.1.3/socket.io.min.js"></script>
<script src="sketch.js"></script>
<meta charset="utf-8" />
<style>
body {
margin: 0;
overflow: hidden;
}
</style>
</head>
<body></body>
</html>

View File

@ -0,0 +1,38 @@
const socket = io('localhost:3000');
const SIZE = 10;
let coord = [];
socket.on("connect", () => {
console.log('Connected');
});
socket.on('data', (data) => {
coord = data
});
function setup() {
createCanvas(800, 600);
createButton('Save').position(0, 0).mousePressed( () => {
socket.emit('save', coord);
});
socket.emit('load', coord);
}
function draw() {
background(0);
fill(255);
noStroke();
if (coord.length == 0) return;
for (let {x,y} of coord){
ellipse(x, y, SIZE, SIZE);
}
}
function mousePressed(){
coord.push ({x:mouseX, y:mouseY});
}

2
w12_node/save-dots/server/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
node_modules/**
.vscode/**

View File

@ -0,0 +1 @@
[]

View File

@ -0,0 +1,34 @@
import path from 'path';
import express from 'express';
import fs from 'fs';
import { createServer } from 'http';
import { Server } from 'socket.io';
// Create a server on port 3000
const PORT = process.env.PORT || 3000;
const app = express();
const server = createServer(app);
// socket.io
const io = new Server(server, {
cors: {
origin: '*',
},
});
server.listen(PORT, function () {
console.log('Server listening at port %d', PORT);
});
// Optionally routing your app
// app.use(express.static(path.join(__dirname, '../client')));
io.on('connection', function (socket) {
socket.on('save', function (data) {
//...
});
socket.on('load', function () {
///...
});
});

1152
w12_node/save-dots/server/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,18 @@
{
"name": "save-dots-example",
"version": "1.0.0",
"description": "",
"main": "index.js",
"type": "module",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node index.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"express": "^5.1.0",
"socket.io": "^4.8.1"
}
}