summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
762d283)
* Added prod backend network
* Use session ID when doing board operations
networks:
proxy:
external: true
networks:
proxy:
external: true
+ backend:
+ driver: overlay
services:
db:
image: mariadb:11.1.2
services:
db:
image: mariadb:11.1.2
MARIADB_DATABASE: go
MARIADB_USER: socket
MARIADB_PASSWORD: socketpw
MARIADB_DATABASE: go
MARIADB_USER: socket
MARIADB_PASSWORD: socketpw
- image: cjpalmer/go-socket:1.0.1
+ image: cjpalmer/go-socket:1.1.0
+ networks:
+ - backend
- image: cjpalmer/go-web:1.0.1
+ image: cjpalmer/go-web:1.1.0
environment:
- NGINX_HOST=purplebirdman.com
- NGINX_PORT=80
networks:
environment:
- NGINX_HOST=purplebirdman.com
- NGINX_PORT=80
networks:
MARIADB_PASSWORD: socketpw
socket:
build: ./socket
MARIADB_PASSWORD: socketpw
socket:
build: ./socket
- image: cjpalmer/go-socket:1.0.1
+ image: cjpalmer/go-socket:1.1.0
- image: cjpalmer/go-web:1.0.1
+ image: cjpalmer/go-web:1.1.0
environment:
- NGINX_HOST=purplebirdman.com
- NGINX_PORT=80
environment:
- NGINX_HOST=purplebirdman.com
- NGINX_PORT=80
var session_id = 0;
db.initBoard();
var session_id = 0;
db.initBoard();
- // send initial message to draw client board
- "type": "board",
- "data": await db.getBoardState(session_id)
}));
ws.on('message', async function(msg) {
}));
ws.on('message', async function(msg) {
try {
parsed = JSON.parse(msg);
switch (parsed.type) {
try {
parsed = JSON.parse(msg);
switch (parsed.type) {
+ case "session":
+ session_id = parsed.data.session
+
+ // send initial message to draw session client board
+ ws.send(JSON.stringify({
+ "type": "board",
+ "data": await db.getBoardState(session_id)
+ }));
+ break;
case "new":
ws.send(JSON.stringify({
"type": "new",
case "new":
ws.send(JSON.stringify({
"type": "new",
+/* get session ID from URI if included */
+var session = 0;
+var queryString = location.search
+let params = new URLSearchParams(queryString)
+let url_session = parseInt(params.get("session"))
+
+if (url_session > 0)
+{
+ session = url_session
+}
+console.log("Session ID: " + url_session)
+
var state = [];
for (var i = 0; i < boardSize; i++)
{
var state = [];
for (var i = 0; i < boardSize; i++)
{
// Any data from the server can be manipulated here.
let parsed = JSON.parse(msg.data);
switch (parsed.type) {
// Any data from the server can be manipulated here.
let parsed = JSON.parse(msg.data);
switch (parsed.type) {
+ case "session":
+ socket.send(JSON.stringify({
+ "type":"session",
+ "data": {
+ "session":session
+ }
+ }));
+ break;
case "board":
console.log("Setting board state");
case "board":
console.log("Setting board state");
+
+ // lazily clean up board and reinit
+ for (var i = 0; i < boardSize; i++) {
+ for (var j = 0; j < boardSize; j++) {
+ state[i][j] = 0;
+ }
+ }
+
+ // set up board according to db state
parsed.data.forEach( function (move, index) {
state[move.x][move.y] = move.state;
});
parsed.data.forEach( function (move, index) {
state[move.x][move.y] = move.state;
});
drawGrid();
break;
case "new":
drawGrid();
break;
case "new":