Solved

TCP Connection Limit ?

Posted on 1998-10-08
4
231 Views
Last Modified: 2013-12-23
I have a UNIX program that loops while trying to make a socket connection. If the connect fails enough I run out of available TCP Connections. Here is a code fragment;
...
do {
  connected_I = -1;

    /*** OPEN SOCKET TO NT SERVER ***/
    fSocket = socket(AF_INET,SOCK_STREAM,0);
    if (fSocket == -1)
    {
      connected_I = 0;
    }

    /*** CONNECT TO SOCKET  ***/
    sin.sin_family = AF_INET;
    sin.sin_addr.s_addr = GetAddr(ip_addr);
    sin.sin_port = htons((u_short)(13011));

    if (connect(fSocket,
                (struct sockaddr FAR *) &sin,
                sizeof(sin))==-1)
    {
     connected_I = 0;
    }

    if (!connected_I)
    {
      shutdown(fSocket,2);
      close(fSocket);
      sleep(2);
    }

} while(!connected_I);
...
Can anyone see anything wrong with this?
Is there a table of some sort in UNIX that gets filled up and only released when my process terminates?
Any help anyone can offer would be great!
0
Comment
Question by:AndrewR
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
4 Comments
 

Author Comment

by:AndrewR
ID: 1582415
Edited text of question
0
 

Author Comment

by:AndrewR
ID: 1582416
Edited text of question
0
 

Accepted Solution

by:
ydsh earned 200 total points
ID: 1582417
Try to insert these codes into your loop:

struct linger  socketLinger;  
.
        socketLinger.l_onoff = 1;
        socketLinger.l_linger = 0;
        if(setsockopt(fSocket,SOL_SOCKET,SO_LINGER,
                           &socketLinger,sizeof(struct linger)) == -1){
                perror("set sock opt error");
                return(-1);
        }                      
.

Then it should work.  If, it still do not work, then the problem must lay on your NT server. :)
For in my unix-unix network, communication, no problem occured!                                              
0
 

Author Comment

by:AndrewR
ID: 1582418
Thanks
0

Featured Post

PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
VMware:  Virtual switches and multiple NICs 9 135
http response code 3 39
Setting up two DCs 4 47
Necessity of Gigabit network infrastructure? 7 54
Don’t let your business fall victim to the coming apocalypse – use our Survival Guide for the Fax Apocalypse to identify the risks and signs of zombie fax activities at your business.
Most of the applications these days are on Cloud. Cloud is ubiquitous with many service providers in the market. Since it has many benefits such as cost reduction, software updates, remote access, disaster recovery and much more.
Viewers will learn how to connect to a wireless network using the network security key. They will also learn how to access the IP address and DNS server for connections that must be done manually. After setting up a router, find the network security…
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…

739 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question