Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
game-server-flip-jump
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Gia Vương
game-server-flip-jump
Commits
fb8c1480
Commit
fb8c1480
authored
Aug 08, 2025
by
Vũ Gia Vương
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update disconnect
parent
5161cb87
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
8 deletions
+18
-8
socket.ts
src/socket.ts
+18
-8
No files found.
src/socket.ts
View file @
fb8c1480
...
...
@@ -13,8 +13,9 @@ export function setupSocket(io: Server) {
io
.
use
((
socket
:
Socket
,
next
)
=>
{
const
token
=
socket
.
handshake
.
query
.
token
;
console
.
log
(
'token'
,
token
)
users
[
socket
.
id
]
=
new
User
(
String
(
token
));
if
(
!
users
[
socket
.
id
])
{
users
[
socket
.
id
]
=
new
User
(
String
(
token
));
}
next
();
});
...
...
@@ -24,16 +25,25 @@ export function setupSocket(io: Server) {
socket
.
on
(
CONFIG
.
EVT
.
START_GAME
,
(
data
:
string
)
=>
startGame
(
socket
,
data
));
socket
.
on
(
CONFIG
.
EVT
.
PASS_TOWER
,
async
(
data
:
{
nextPos
:
v2
,
time
:
number
,
distance
:
number
})
=>
await
passTower
(
socket
,
data
));
// socket.on(CONFIG.EVT.SPAWN_TOWER, async () => addBlock(socket));
socket
.
on
(
CONFIG
.
EVT
.
HISTORY
,
async
()
=>
getHistory
(
socket
));
socket
.
on
(
"disconnect"
,
()
=>
console
.
log
(
`🔴 Client disconnected:
${
socket
.
id
}
`
));
socket
.
on
(
"disconnect"
,
()
=>
onDisconnect
(
socket
));
});
}
function
onDisconnect
(
socket
:
Socket
):
void
{
const
user
=
getUserBySocketId
(
socket
.
id
);
if
(
user
.
isEndGame
)
{
return
;
}
endGameApi
(
user
.
totalScore
);
user
.
totalScore
=
0
;
return
console
.
log
(
`🔴 Client disconnected:
${
socket
.
id
}
`
);
}
async
function
getHistory
(
socket
:
Socket
)
{
const
user
=
getUserBySocketId
(
socket
.
id
);
const
response
=
await
socket
.
emitWithAck
(
'requestHistory'
,
user
.
history
);
socket
.
emit
(
'requestHistory'
,
user
.
history
);
}
async
function
startGame
(
socket
:
Socket
,
data
:
any
)
{
...
...
@@ -45,7 +55,7 @@ async function startGame(socket: Socket, data: any) {
addBlock
(
socket
);
}
else
{
console
.
log
(
'start game fail'
);
const
response
=
await
socket
.
emitWithAck
(
'requestStartGame'
,
{
code
:
9999
});
socket
.
emit
(
'requestStartGame'
,
{
code
:
9999
});
}
}
...
...
@@ -90,7 +100,7 @@ async function passTower(socket: Socket, data: { nextPos: v2, time: number, dist
user
.
history
.
unshift
(
dataSend
);
user
.
totalScore
=
0
;
}
const
response
=
await
socket
.
emitWithAck
(
'requestPassTower'
,
dataSend
);
socket
.
emit
(
'requestPassTower'
,
dataSend
);
}
async
function
addBlock
(
socket
:
Socket
)
{
...
...
@@ -114,7 +124,7 @@ async function addBlock(socket: Socket) {
distance2Tower
:
user
.
distance2Tower
,
towerNumber
:
user
.
towerNumber
-
1
,
};
const
response
=
await
socket
.
emitWithAck
(
'requestSpawnTower'
,
data
);
socket
.
emit
(
'requestSpawnTower'
,
data
);
}
function
joinRoom
(
socket
:
Socket
,
data
:
string
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment