01-27-2011
Identifying Server graceful shutdown
Hi
I have written a Client server Application .The client will receive messages from Server and pass it to some library for processing .I also want to notify server close the socket connection gracefully.
Roughly my code is some kind of
void getMsg()
{
while(recv(....)>0)
{
cout<<"Process Message";
}
cout<<"Server Disconnected";
}
The problem with the above code is of server get crash because of some reason recv function is returning 0 immediately .But There is no way to identify from client side whether server is close gracefully or because of some error .
Is there any way to identify them .
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
SCO Unixware 7.1.1
Hi friends,
At 11:30pm last night mymain Unix Server hung or rebooted (Unaware which one), and was bot available for 10 minutes. Is there a log file somewhere which will tell me what happened ?
I have looked ad /var/adm/syslog, but cannot make head nor tail of it.
... (1 Reply)
Discussion started by: sureshy
1 Replies
2. UNIX for Advanced & Expert Users
Hi,
how to shutdown a unix machine ?
We are on SunOS server15.8 Generic_108528-24 sun4u sparc SUNW,Ultra-Enterprise
Many thanks. (2 Replies)
Discussion started by: big123456
2 Replies
3. Solaris
I'm thinking of buying a UPS, does Solaris have any software builting to detect when a system goes into UPS dependency, or would the best best to use some software provided by APC or some other UPS vendor...? (1 Reply)
Discussion started by: BG_JrAdmin
1 Replies
4. AIX
Hi Guys,
Please help in this...when we start HACMP services ..server is getting shutdon.
Error mesg from cluster.log.
Apr 14 08:43:27 bascop17 snmpd: NOTICE: SMUX trap: (0 0) (127.0.0.1+46302+1)
Apr 14 08:43:33 bascop17 topsvcs: (Recorded using libct_ffdc.a cv 2):::Error ID:... (1 Reply)
Discussion started by: b_manu78
1 Replies
5. Solaris
I have a sparc T1 server (I know its old) running Solaris 8, which we use for testing. It has been very slow in response- prompt takes couple of minutes to come up, so I decided to reboot the server but I can reboot it, it is giving following errors when I try to shutdown it down.
root@deva:/#... (3 Replies)
Discussion started by: Tirmazi
3 Replies
6. Solaris
Are rc scripts executed serially or all at the same time. Is there a way to see this happen? A log file or the syslogd?
This is Solaris 10. (2 Replies)
Discussion started by: djehresmann
2 Replies
7. UNIX for Advanced & Expert Users
Hi All,
I want to shutdown the server if no one is actualy using it. Its a linux server.
I thought of sending a msg on users terminal for those who all are logged in and expecting a input from them.
If they will reply system should not get shutdown else it should not.
Can any one... (2 Replies)
Discussion started by: Sadhana
2 Replies
8. Solaris
Hi,
I've got a UPS connected to my Solaris 10 machine and I'm planning to run containers/zones on there.
At the moment if the UPS agent sends the signal to the solaris machine to shutdown, all the apps shutdown gracefully and then the host goes down.
If I setup containers for the apps, does... (9 Replies)
Discussion started by: fastexit
9 Replies
9. AIX
Hi,
is it possible to find out ip address of user who has shutdown or rebooted the server , I have used the command errpt -a , in that it is showing server rebooted but it is not showing ip address who has shutdown the serve, even I have used command last reboot.
Please suggest.
Regards,
... (3 Replies)
Discussion started by: manoj.solaris
3 Replies
10. AIX
Hi
My vio client is getting its virtual Ethernet services from dual vio servers. What command if I execute on the vio
client will get me the names of the vio servers ? (2 Replies)
Discussion started by: samsungsamsung
2 Replies
LEARN ABOUT DEBIAN
net::smtp::server::client
Server::Client(3pm) User Contributed Perl Documentation Server::Client(3pm)
NAME
Net::SMTP::Server::Client - Client session handling for Net::SMTP::Server.
SYNOPSIS
use Carp;
use Net::SMTP::Server;
use Net::SMTP::Server::Client;
use Net::SMTP::Server::Relay;
$server = new Net::SMTP::Server('localhost', 25) ||
croak("Unable to handle client connection: $!
");
while($conn = $server->accept()) {
# We can perform all sorts of checks here for spammers, ACLs,
# and other useful stuff to check on a connection.
# Handle the client's connection and spawn off a new parser.
# This can/should be a fork() or a new thread,
# but for simplicity...
my $client = new Net::SMTP::Server::Client($conn) ||
croak("Unable to handle client connection: $!
");
# Process the client. This command will block until
# the connecting client completes the SMTP transaction.
$client->process || next;
# In this simple server, we're just relaying everything
# to a server. If a real server were implemented, you
# could save email to a file, or perform various other
# actions on it here.
my $relay = new Net::SMTP::Server::Relay($client->{FROM},
$client->{TO},
$client->{MSG});
}
DESCRIPTION
The Net::SMTP::Server::Client module implements all the session handling required for a Net::SMTP::Server::Client connection. The above
example demonstrates how to use Net::SMTP::Server::Client with Net::SMTP::Server to handle SMTP connections.
$client = new Net::SMTP::Server::Client($conn)
Net::SMTP::Server::Client accepts one argument that must be a handle to a connection that will be used for communication.
Once you have a new client session, simply call:
$client->process
This processes an SMTP transaction. THIS MAY APPEAR TO HANG -- ESPECIALLY IF THERE IS A LARGE AMOUNT OF DATA BEING SENT. Once this method
returns, the server will have processed an entire SMTP transaction, and is ready to continue.
Once $client->process returns, various fields have been filled in. Those are:
$client->{TO} -- This is an array containing the intended
recipients for this message. There may be
multiple recipients for any given message.
$client->{FROM} -- This is the sender of the given message.
$client->{MSG} -- The actual message data. :)
AUTHOR AND COPYRIGHT Net::SMTP::Server / SMTP::Server is Copyright(C) 1999, MacGyver (aka Habeeb J. Dihu) <macgyver@tos.net>. ALL RIGHTS
RESERVED.
You may distribute this package under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl
README file.
SEE ALSO
Net::SMTP::Server::Server, Net::SMTP::Server::Relay
perl v5.10.1 1999-12-28 Server::Client(3pm)