Re: Hitting a maximum number of SOCKET connections?
I have installed 5.10, but the problem still occures. The demo in http://www.mollehem.se/bilder/socketDemo.zip illustrates it. Any clue? Thanks Anders Brian Raven skrev: Anders Boström wrote: Hej, I have a server implemented in Perl. It handles multiple connection with the use of IO::Select. All work well with the first 63 concurrent clients, but if client 64 and upwards sends messages, they will not be seen on the server as long as the other 63 client are connected to the server. Is there a limit that I have hit, or whats going on? I have tested it on Win XP, and Win Server 2003. I have made a small demo program (based on a tutorial snippet I found) that illustrates the problem. http://www.mollehem.se/bilder/socketDemo.zip It consist of one server and one client. The client opens 100 connections. Then it starts sending ping on each connection. 1-63 can be seen on the server side, but not 64-100. Then the client starts closing the connections, and for each closed connection, one more ping is seen on the server! I would be very happy for an explanation! 64 is the default limit on the number of file handles that you can call select with in win32. According to the doco (ActivePerl 5.10 Change Log), this was increased to 2000 for build 1001, so you might want to upgrade your Perl. HTH ___ Perl-Win32-Users mailing list Perl-Win32-Users@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
RE: Hitting a maximum number of SOCKET connections?
Anders Boström mailto:anders.bost...@mollehem.se wrote: I have installed 5.10, but the problem still occures. The demo in http://www.mollehem.se/bilder/socketDemo.zip illustrates it. Any clue? I have build 1004, and your code worked OK here, i.e. all 100 sockets opened and pinged. Even when I increased the number of sockets to 200. It may be that the new version isn't installed properly. What does 'perl -v' say? You did uninstall the previous version first, right? BTW, I added 'use strict; use warnings;' to the start of your scripts, and fixed the issues raised before running them. I strongly suggest that you do the same. -- Brian Raven This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy. Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden. ___ Perl-Win32-Users mailing list Perl-Win32-Users@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
Hitting a maximum number of SOCKET connections? Continued...
Hello again, I have received test result from 2 people that tested the example, and both failed in the same way. To clarify the previous explanation of the problem. Its seen on the server side! When the client has sent 63 PING's, the server stops showing the rest of the PING's (64-100). They will the show up one by one, when the client starts to close the connections. It seems that only 63 sockets can deliver messages to the server at one time. The other sockets are silent seen from the server. Still - if anybody could explain why this is, I would be very happy. So long Anders --- Hej, I have a server implemented in Perl. It handles multiple connection with the use of IO::Select. All work well with the first 63 concurrent clients, but if client 64 and upwards sends messages, they will not be seen on the server as long as the other 63 client are connected to the server. Is there a limit that I have hit, or whats going on? I have tested it on Win XP, and Win Server 2003. I have made a small demo program (based on a tutorial snippet I found) that illustrates the problem. http://www.mollehem.se/bilder/socketDemo.zip It consist of one server and one client. The client opens 100 connections. Then it starts sending ping on each connection. 1-63 can be seen on the server side, but not 64-100. Then the client starts closing the connections, and for each closed connection, one more ping is seen on the server! I would be very happy for an explanation! Thanks Anders ___ Perl-Win32-Users mailing list Perl-Win32-Users@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
RE: Hitting a maximum number of SOCKET connections? Continued...
Anders Boström wrote: Hello again, I have received test result from 2 people that tested the example, and both failed in the same way. To clarify the previous explanation of the problem. Its seen on the server side! When the client has sent 63 PING's, the server stops showing the rest of the PING's (64-100). They will the show up one by one, when the client starts to close the connections. It seems that only 63 sockets can deliver messages to the server at one time. The other sockets are silent seen from the server. Still - if anybody could explain why this is, I would be very happy. I can confirm that select on win32 only seems to consider the first 64 file descriptors. Perhaps somebody from Activestate could check that the change to allow 2000 file descriptors reported for build 1001 works , and has not been regressed.. I have just tried your code on Linux, and it seems to work as expected, i.e. pings seen on the server immediately after they are sent. So you may want to consider switching OS. HTH -- Brian Raven This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy. Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden. ___ Perl-Win32-Users mailing list Perl-Win32-Users@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs