Socket.io IF and ELSE works at the same time
socket.on('get-point', (data) => {
var socketID = data.socketID;
if(socketID === $("#socketID").text()) {
document.getElementById("user-points").innerHTML = data.points;
console.log('ID: ' + $("#socketID").text());
} else {
socket.emit('opponent-get-point');
}
});
socket.on('opponent-get-point', (dataOpponent) => {
document.getElementById("opponent-points").innerHTML = dataOpponent.points;
console.log('oppoent gets point');
});
Can someone explain me why even though if
is correct, the else
statement also works on my computer. Like I click the button and then the opponent-get-point
emits also. Why this is happening ?
If opponent clicks the button then I see that he gets the point but then on his screen both players also gets the point.
node.js socket.io
add a comment |
socket.on('get-point', (data) => {
var socketID = data.socketID;
if(socketID === $("#socketID").text()) {
document.getElementById("user-points").innerHTML = data.points;
console.log('ID: ' + $("#socketID").text());
} else {
socket.emit('opponent-get-point');
}
});
socket.on('opponent-get-point', (dataOpponent) => {
document.getElementById("opponent-points").innerHTML = dataOpponent.points;
console.log('oppoent gets point');
});
Can someone explain me why even though if
is correct, the else
statement also works on my computer. Like I click the button and then the opponent-get-point
emits also. Why this is happening ?
If opponent clicks the button then I see that he gets the point but then on his screen both players also gets the point.
node.js socket.io
It seems like this logic should be done server-side, not client-side. But that aside, one peer is saying the opponent should get the point if they're not the recipient of the point, but when the opponent receives the event, they're assigning points to their opponent, not themselves.
– Patrick Roberts
Nov 19 '18 at 19:36
Why your clients emitopponent-get-point
?
– Milad Aghamohammadi
Nov 20 '18 at 5:34
well if the button is clicked and it's not from the user (myself) then emit that socket. That means that button was clicked by another user.
– abraom_185
Nov 20 '18 at 13:10
add a comment |
socket.on('get-point', (data) => {
var socketID = data.socketID;
if(socketID === $("#socketID").text()) {
document.getElementById("user-points").innerHTML = data.points;
console.log('ID: ' + $("#socketID").text());
} else {
socket.emit('opponent-get-point');
}
});
socket.on('opponent-get-point', (dataOpponent) => {
document.getElementById("opponent-points").innerHTML = dataOpponent.points;
console.log('oppoent gets point');
});
Can someone explain me why even though if
is correct, the else
statement also works on my computer. Like I click the button and then the opponent-get-point
emits also. Why this is happening ?
If opponent clicks the button then I see that he gets the point but then on his screen both players also gets the point.
node.js socket.io
socket.on('get-point', (data) => {
var socketID = data.socketID;
if(socketID === $("#socketID").text()) {
document.getElementById("user-points").innerHTML = data.points;
console.log('ID: ' + $("#socketID").text());
} else {
socket.emit('opponent-get-point');
}
});
socket.on('opponent-get-point', (dataOpponent) => {
document.getElementById("opponent-points").innerHTML = dataOpponent.points;
console.log('oppoent gets point');
});
Can someone explain me why even though if
is correct, the else
statement also works on my computer. Like I click the button and then the opponent-get-point
emits also. Why this is happening ?
If opponent clicks the button then I see that he gets the point but then on his screen both players also gets the point.
node.js socket.io
node.js socket.io
asked Nov 19 '18 at 19:26
abraom_185abraom_185
587
587
It seems like this logic should be done server-side, not client-side. But that aside, one peer is saying the opponent should get the point if they're not the recipient of the point, but when the opponent receives the event, they're assigning points to their opponent, not themselves.
– Patrick Roberts
Nov 19 '18 at 19:36
Why your clients emitopponent-get-point
?
– Milad Aghamohammadi
Nov 20 '18 at 5:34
well if the button is clicked and it's not from the user (myself) then emit that socket. That means that button was clicked by another user.
– abraom_185
Nov 20 '18 at 13:10
add a comment |
It seems like this logic should be done server-side, not client-side. But that aside, one peer is saying the opponent should get the point if they're not the recipient of the point, but when the opponent receives the event, they're assigning points to their opponent, not themselves.
– Patrick Roberts
Nov 19 '18 at 19:36
Why your clients emitopponent-get-point
?
– Milad Aghamohammadi
Nov 20 '18 at 5:34
well if the button is clicked and it's not from the user (myself) then emit that socket. That means that button was clicked by another user.
– abraom_185
Nov 20 '18 at 13:10
It seems like this logic should be done server-side, not client-side. But that aside, one peer is saying the opponent should get the point if they're not the recipient of the point, but when the opponent receives the event, they're assigning points to their opponent, not themselves.
– Patrick Roberts
Nov 19 '18 at 19:36
It seems like this logic should be done server-side, not client-side. But that aside, one peer is saying the opponent should get the point if they're not the recipient of the point, but when the opponent receives the event, they're assigning points to their opponent, not themselves.
– Patrick Roberts
Nov 19 '18 at 19:36
Why your clients emit
opponent-get-point
?– Milad Aghamohammadi
Nov 20 '18 at 5:34
Why your clients emit
opponent-get-point
?– Milad Aghamohammadi
Nov 20 '18 at 5:34
well if the button is clicked and it's not from the user (myself) then emit that socket. That means that button was clicked by another user.
– abraom_185
Nov 20 '18 at 13:10
well if the button is clicked and it's not from the user (myself) then emit that socket. That means that button was clicked by another user.
– abraom_185
Nov 20 '18 at 13:10
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53381356%2fsocket-io-if-and-else-works-at-the-same-time%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53381356%2fsocket-io-if-and-else-works-at-the-same-time%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
It seems like this logic should be done server-side, not client-side. But that aside, one peer is saying the opponent should get the point if they're not the recipient of the point, but when the opponent receives the event, they're assigning points to their opponent, not themselves.
– Patrick Roberts
Nov 19 '18 at 19:36
Why your clients emit
opponent-get-point
?– Milad Aghamohammadi
Nov 20 '18 at 5:34
well if the button is clicked and it's not from the user (myself) then emit that socket. That means that button was clicked by another user.
– abraom_185
Nov 20 '18 at 13:10