Java ServerSocket prevent clients queueing












0















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?










share|improve this question

























  • 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
















0















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?










share|improve this question

























  • 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














0












0








0


1






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?










share|improve this question
















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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








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 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



















  • 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

















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












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
});


}
});














draft saved

draft discarded


















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
















draft saved

draft discarded




















































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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

MongoDB - Not Authorized To Execute Command

How to fix TextFormField cause rebuild widget in Flutter

in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith