Solved

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

Posted on 2002-04-17
9
323 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
  • 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
Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

 
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

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Macbook Sierra OS OpenVPN issue 13 79
Set up wireless network on Cisco ASA 5505 with DHCP 13 63
display iPhone Wifi network name 19 100
paypal ipn status 4 38
Data center, now-a-days, is referred as the home of all the advanced technologies. In-fact, most of the businesses are now establishing their entire organizational structure around the IT capabilities.
This article will inform Clients about common and important expectations from the freelancers (Experts) who are looking at your Gig.
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…
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…

816 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

13 Experts available now in Live!

Get 1:1 Help Now