Solved

How can I free a port which was occupied by the old deaded progam?

Posted on 2002-04-17
9
325 Views
Last Modified: 2012-05-04
  I develope a service program as a server which bind some udp ports. the system show failed message when sometime I stop the service from the service manager. And then the service is stoped, but the ports it used are not free. When I run the service again, the 10048 Error occurs, which means "the address and port have been used". How can I free those kind of ports.
0
Comment
Question by:Iaskyou
[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
  • 4
  • 2
  • 2
  • +1
9 Comments
 
LVL 16

Expert Comment

by:SteveJ
ID: 6947982
Depending on how the port connection failed, you may need to reboot to recover the port and the mbuf space. On one of the AIX systems here I have to craft a reset packet and send it as if it were actually coming from the connected machine.

What OS?

Good luck.
Steve
0
 
LVL 24

Expert Comment

by:SunBow
ID: 6949052
0
 
LVL 24

Expert Comment

by:SunBow
ID: 6949116
sounds like either bad OS (services not communicating with each other) or not waiting long enough for everything to sync back up.

> How can I free those kind of ports

Don't. Or rather, why?

Sounds like an ungraceful shutdown, or one that needs more grace.

Almost makes me want to know just which ports....

> I develope a service program as a server which bind

If it all began with your own development, then possibly you still have the control there. Whatever you open - try to close before exit (exit process should do it) (system should also detect the interruption, and run the graceful exit, not the one for debugging). Whatever you bind, unbind prior to exit.

Until then, I think the soft reboot is the quickest path to recovery.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 16

Expert Comment

by:SteveJ
ID: 6949120
. . . must be nice to work in an environment where you can just reboot to fix things . . .


Steve
0
 

Author Comment

by:Iaskyou
ID: 6949412
oh, sorry, I forget reporting the OS.
win2000.
0
 

Author Comment

by:Iaskyou
ID: 6949415
The machine is worked as server. So it can not be rebooted oftenly.
0
 
LVL 24

Expert Comment

by:SunBow
ID: 6950523
Generally, for our production servers, we do not make a practise of stopping Win2K services, preferring what stability we can achieve.
0
 
LVL 1

Accepted Solution

by:
swapsthegreat earned 50 total points
ID: 6950527
in your server program, when u create a socket and bind it to a particular port, this problem occurs.
To avoid this use the setsockopt() function to set socket level options to free the bound port immediately.

On Unix systems the call would be

setsockopt(sockdescr,SOL_SOCKET,SO_REUSEADDR,&on,sizeof(int));


sockdesc is socket descriptor
SOL_SOCKET says that options are set at socket level
SO_REUSEADDR allows u to reuse address and port
on is integer which is 1(to set).

Dont know much bout windows programming but i hear it is nearly the same
0
 
LVL 24

Expert Comment

by:SunBow
ID: 6950583
yeah, but a little tricky, and incompleteness can down all ports. not so good for someone's production server(s)
0

Featured Post

NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

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. 
ADCs have gained traction within the last decade, largely due to increased demand for legacy load balancing appliances to handle more advanced application delivery requirements and improve application performance.
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…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…

726 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