Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #33311
| From | Arne Vajhøj <arne@vajhoej.dk> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: multithread client socket |
| Date | 2015-12-05 20:00 -0500 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <n401as$jaf$1@speranza.aioe.org> (permalink) |
| References | <75df5111-41b9-4833-8497-69104f011d14@googlegroups.com> |
On 12/1/2015 12:36 PM, Philipp Kraus wrote: > I'm using a cached thread pool which gets a lot of callable objects. > Each callable create with "new Socket" a client socket to a server, > sends data to the server, receive the response and returns the > response with a future object. The server closes the socket after the > response is send. > > On large datasets the runtime cannot create new socket objects > (socket already in use message). The Java client runs explicit > socket.close without any error. My idea is, that each thread of the > thread-pool holds a member with the socket, but I need must reconnect > the client socket on each task, because the server closes the > socket. > > My question is, how can I use a lot of client sockets which can be > closed by the server, but without re instantiation on Java side. On a > socket.connect I get "socket is closed" after the server has closed > it. Are you by any chance running your Java application on Windows? I have had lots of problem with opening and closing a large number of sockets on Windows. It seems like: * Windows keep the outbound port open for a short time after application close * Windows has a rather strict limit on the number of outbound ports The best approach would be avoid opening and closing sockets all the time time and keep the sockets open permanently and just put them in a pool for reuse. That may not be possible due to the way the servers works, but it should be considered. The more hackish workaround is to bump MaxUserPort. https://msdn.microsoft.com/en-us/library/aa560610%28v=bts.20%29.aspx http://smallvoid.com/article/winnt-tcpip-max-limit.html Arne
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Find similar | Unroll thread
multithread client socket Philipp Kraus <philipp.kraus.flashpixx@gmail.com> - 2015-12-01 09:36 -0800
Re: multithread client socket Eric Douglas <e.d.programmer@gmail.com> - 2015-12-01 11:58 -0800
Re: multithread client socket Philipp Kraus <philipp.kraus.flashpixx@gmail.com> - 2015-12-01 23:02 -0800
Re: multithread client socket Eric Douglas <e.d.programmer@gmail.com> - 2015-12-02 06:39 -0800
Re: multithread client socket Jan Burse <janburse@fastmail.fm> - 2015-12-01 22:01 +0100
Re: multithread client socket Jan Burse <janburse@fastmail.fm> - 2015-12-01 22:06 +0100
Re: multithread client socket Eric Douglas <e.d.programmer@gmail.com> - 2015-12-01 13:55 -0800
Re: multithread client socket Martin Gregorie <martin@address-in-sig.invalid> - 2015-12-01 22:04 +0000
Re: multithread client socket Philipp Kraus <philipp.kraus.flashpixx@gmail.com> - 2015-12-01 23:04 -0800
Re: multithread client socket Eric Douglas <e.d.programmer@gmail.com> - 2015-12-02 05:52 -0800
Re: multithread client socket Martin Gregorie <martin@address-in-sig.invalid> - 2015-12-02 14:38 +0000
Re: multithread client socket Arne Vajhøj <arne@vajhoej.dk> - 2015-12-05 20:00 -0500
csiph-web