Java ServerSocket prevent clients queueing
I am making a sockets program in java, I want to only be able to handle 1 client at a time. I also want to stop a client from from connecting to the socket if another client connected to the server. I know that by default ServerSocket allows for queuing of clients and you can limit the size of the queue by using the
public ServerSocket(int port, int backlog)
constructor. However the Javadoc says that if you set the backlog to 0 it just goes to the default queue length. I can set this to 1 but if i connect 2 clients the second will wait in the queue, and a third will not connect.
Is there anyway to disable this queuing so that a second client that tries to connect simultaneously will be not allowed to connect?
java sockets serversocket backlog
add a comment |
I am making a sockets program in java, I want to only be able to handle 1 client at a time. I also want to stop a client from from connecting to the socket if another client connected to the server. I know that by default ServerSocket allows for queuing of clients and you can limit the size of the queue by using the
public ServerSocket(int port, int backlog)
constructor. However the Javadoc says that if you set the backlog to 0 it just goes to the default queue length. I can set this to 1 but if i connect 2 clients the second will wait in the queue, and a third will not connect.
Is there anyway to disable this queuing so that a second client that tries to connect simultaneously will be not allowed to connect?
java sockets serversocket backlog
I think you should be focusing on theacceptmethod
– Scary Wombat
Nov 22 '18 at 0:14
@ScaryWombat I call the accept method to get a client. is there a queue that the accept method reads from and therefore the queue has to be of length at least one?
– user6817585
Nov 22 '18 at 11:17
add a comment |
I am making a sockets program in java, I want to only be able to handle 1 client at a time. I also want to stop a client from from connecting to the socket if another client connected to the server. I know that by default ServerSocket allows for queuing of clients and you can limit the size of the queue by using the
public ServerSocket(int port, int backlog)
constructor. However the Javadoc says that if you set the backlog to 0 it just goes to the default queue length. I can set this to 1 but if i connect 2 clients the second will wait in the queue, and a third will not connect.
Is there anyway to disable this queuing so that a second client that tries to connect simultaneously will be not allowed to connect?
java sockets serversocket backlog
I am making a sockets program in java, I want to only be able to handle 1 client at a time. I also want to stop a client from from connecting to the socket if another client connected to the server. I know that by default ServerSocket allows for queuing of clients and you can limit the size of the queue by using the
public ServerSocket(int port, int backlog)
constructor. However the Javadoc says that if you set the backlog to 0 it just goes to the default queue length. I can set this to 1 but if i connect 2 clients the second will wait in the queue, and a third will not connect.
Is there anyway to disable this queuing so that a second client that tries to connect simultaneously will be not allowed to connect?
java sockets serversocket backlog
java sockets serversocket backlog
edited Nov 22 '18 at 11:39
user6817585
asked Nov 22 '18 at 0:11
user6817585user6817585
63
63
I think you should be focusing on theacceptmethod
– Scary Wombat
Nov 22 '18 at 0:14
@ScaryWombat I call the accept method to get a client. is there a queue that the accept method reads from and therefore the queue has to be of length at least one?
– user6817585
Nov 22 '18 at 11:17
add a comment |
I think you should be focusing on theacceptmethod
– Scary Wombat
Nov 22 '18 at 0:14
@ScaryWombat I call the accept method to get a client. is there a queue that the accept method reads from and therefore the queue has to be of length at least one?
– user6817585
Nov 22 '18 at 11:17
I think you should be focusing on the
accept method– Scary Wombat
Nov 22 '18 at 0:14
I think you should be focusing on the
accept method– Scary Wombat
Nov 22 '18 at 0:14
@ScaryWombat I call the accept method to get a client. is there a queue that the accept method reads from and therefore the queue has to be of length at least one?
– user6817585
Nov 22 '18 at 11:17
@ScaryWombat I call the accept method to get a client. is there a queue that the accept method reads from and therefore the queue has to be of length at least one?
– user6817585
Nov 22 '18 at 11:17
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%2f53422189%2fjava-serversocket-prevent-clients-queueing%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.
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%2f53422189%2fjava-serversocket-prevent-clients-queueing%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

I think you should be focusing on the
acceptmethod– Scary Wombat
Nov 22 '18 at 0:14
@ScaryWombat I call the accept method to get a client. is there a queue that the accept method reads from and therefore the queue has to be of length at least one?
– user6817585
Nov 22 '18 at 11:17