jQuery in Action, 2nd edition*
The moose likes Sockets and Internet Protocols and the fly likes How to close ServerSocket Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Sockets and Internet Protocols
Bookmark "How to close ServerSocket" Watch "How to close ServerSocket" New topic
Author

How to close ServerSocket

MohanRaj Gurubatham
Greenhorn

Joined: Sep 05, 2001
Posts: 16
Hi,
I need to close a server which is running in a console through a client program or in the same program by passing arguments.
I have used close() method of ServerSocket class.. but it is not working. I have given the spurce bellow which I have used.

public void run()
{
try
{
ss= new ServerSocket(config.getServerPort());
int localPort = ss.getLocalPort();
logger.datedLog("\n\n"+NAME+" is listening on port "+localPort+".");
int j=0;

while(!stopRequested)
{

Socket client = ss.accept();
runThread=new XMLInterfaceThread(client,config,logger);
runThread.start();
}
stop();

}
catch(IOException ex)
{
logger.datedLog("Unable to listen on "+config.getServerPort()+".");
System.exit(0);
}

}
// --------------------
public void stop()
{
stopRequested=true;
try
{
if(ss!=null)

{
logger.datedLog("Shutingdown XMLInterface ...");
runThread.interrupt();
ss.close();
}
else
{
logger.datedLog("XMLInterface is not connected.");
}

}
catch(IOException ioe)
{
logger.datedLog("Unable to close the XMLInterface ."+ioe.getMessage());
}
}
// ------------------------
how could I call this stop() method from a client program.
If I create a new instance of the server class it comes into the else part of the stop() method.
solution with source would be appreciated.
Thank you in advance,
GMohanraj
netharam ram
Ranch Hand

Joined: Aug 09, 2001
Posts: 202
Hai, Mohan u can do this quiet easily.just create a socket from another program, or the same,sending a message eg."exit".read this & if it is "exit" ,quit the program.
eg.
Socket s=new Socket(localhost,config.getServerPort());

then write the message "exit".
close socket s.
Happy middling with java.
Bye from netharam
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: How to close ServerSocket
 
Similar Threads
restarting and stopping serversocket running on port
Chat At Server Part Both write and read at the same time?
Connection is failing at ObjectInputStream for Server
ServerSocket problem w/ Jeode EVM on iPaq
ServerSocket not oppening