Solved

TCP Connection Limit ?

Posted on 1998-10-08
4
225 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
  • 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

New My Cloud Pro Series - organize everything!

With space to keep virtually everything, the My Cloud Pro Series offers your team the network storage to edit, save and share production files from anywhere with an internet connection. Compatible with both Mac and PC, you're able to protect your content regardless of OS.

Question has a verified solution.

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

Let’s list some of the technologies that enable smooth teleworking. 
In this article, I am going to show you how to simulate a multi-site Lab environment on a single Hyper-V host. I use this method successfully in my own lab to simulate three fully routed global AD Sites on a Windows 10 Hyper-V host.
After creating this article (http://www.experts-exchange.com/articles/23699/Setup-Mikrotik-routers-with-OSPF.html), I decided to make a video (no audio) to show you how to configure the routers and run some trace routes and pings between the 7 sites…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…

930 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now