Skip to content

Commit fbe6713

Browse files
committed
testing socket io
1 parent 90b7d20 commit fbe6713

File tree

9 files changed

+3021
-81
lines changed

9 files changed

+3021
-81
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,5 @@ yarn-error.log*
2828
public
2929
public/
3030
public/*
31+
32+
server/node_modules

package-lock.json

Lines changed: 150 additions & 58 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@
22
"name": "top-down-react-phaser-game-template",
33
"version": "0.1.0",
44
"private": true,
5+
"scripts": {
6+
"generate-atlases": "node scripts/generate-atlas-files.js",
7+
"copy-tileset-data": "node scripts/copy-tileset-data.js",
8+
"start": "craco start",
9+
"build": "craco build",
10+
"test": "craco test",
11+
"eject": "react-scripts eject",
12+
"bump": "ncu -u -t minor"
13+
},
514
"devDependencies": {
615
"@babel/eslint-parser": "^7.16.3",
716
"@babel/eslint-plugin": "^7.14.5",
@@ -34,9 +43,9 @@
3443
"@emotion/styled": "^11.6.0",
3544
"@mui/core": "^5.0.0-alpha.54",
3645
"@mui/icons-material": "^5.2.0",
37-
"@mui/lab": "^5.0.0-alpha.57",
38-
"@mui/material": "^5.2.1",
39-
"@mui/styles": "^5.2.1",
46+
"@mui/lab": "^5.0.0-alpha.58",
47+
"@mui/material": "^5.2.2",
48+
"@mui/styles": "^5.2.2",
4049
"classnames": "^2.3.1",
4150
"grid-engine": "^2.12.0",
4251
"is-mobile": "^3.0.0",
@@ -48,16 +57,9 @@
4857
"react-scripts": "^4.0.3",
4958
"react-spring": "^9.3.2",
5059
"redux": "^4.1.2",
51-
"redux-thunk": "^2.4.1"
52-
},
53-
"scripts": {
54-
"generate-atlases": "node scripts/generate-atlas-files.js",
55-
"copy-tileset-data": "node scripts/copy-tileset-data.js",
56-
"start": "craco start",
57-
"build": "craco build",
58-
"test": "craco test",
59-
"eject": "react-scripts eject",
60-
"bump": "ncu -u -t minor"
60+
"redux-thunk": "^2.4.1",
61+
"socket.io-client": "^4.4.0",
62+
"uuid": "^8.3.2"
6163
},
6264
"browserslist": {
6365
"production": [

server/index.js

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
const express = require('express');
2+
const http = require('http');
3+
const { Server } = require('socket.io');
4+
5+
// Constants
6+
const {
7+
ADD_CHARACTER,
8+
NEW_GAME,
9+
MOVE_HERO,
10+
MOVE_HERO_SERVER,
11+
} = require('../src/serverConstants');
12+
13+
const app = express();
14+
const server = http.createServer(app);
15+
const io = new Server(server, { cors: { origin: '*' } });
16+
17+
// Express
18+
app.get('/', (req, res) => {
19+
res.send('<h1>Hello world</h1>');
20+
});
21+
22+
server.listen(4000, () => {
23+
console.log('listening on *:4000');
24+
});
25+
26+
// Socket.io
27+
io.on('connection', (socket) => {
28+
console.log('a user connected');
29+
socket.on(NEW_GAME, (hero) => {
30+
console.log('create hero:', hero);
31+
io.emit(ADD_CHARACTER, hero);
32+
});
33+
socket.on(MOVE_HERO, (hero, direction) => {
34+
console.log('move hero:', hero, direction);
35+
io.emit(MOVE_HERO_SERVER, hero, direction);
36+
});
37+
});

0 commit comments

Comments
 (0)