07-18-2002
Client can connect() the Sleeping Server successful
1 . with regards to Perderabo and thanks to everyone who read the post
2 . I do a experiment :
Server call socket() bind() listern() in sequence , and call sleep(30) behind listen and before I call accept() .When the Server is in sleep ,the Client connect() the sleeping Server sucessful and send a lot of appointed data to the sleeping Server ,and then block because the recvive buffer of Server has been full(the Server is asleep)
3 . I refer to <<Unix Network Programming >> volume 1 (author : W.Richard Stevens) later .
I found that accept() only "return the next completed connection from the front of the completed connection queue) .the listen() function do "......... , Data that arrives after the three-way handshake completes,but before the server call accept(),should be queued by the server TCP,up to the size of connected socket's receive buffer"
4 . Then I think that : IN SERVER side , after we call listen() ,the Server application register an appointed socket to the kernel ,then the kernel will monitor the appointed port number and wait for the Client to connect .
Then another question arise :
5 . How does the kernel monitor the appointed port when the Server application do other thing(ie. call sleep() after listen() or not occupy the processor at that point) and
6 . How doese the kernel to notify which process that the data came if many Server application let the kernel to monitory different port
9 More Discussions You Might Find Interesting
1. IP Networking
Hey all
Ive written a program for a Java program in college. just something basic where a client connects to a server through java socket programming. Yet when i run the server on Ubuntu and place and run the client on a windows XP machine, they cannot connect to each other. If the are on the... (2 Replies)
Discussion started by: gerperrett
2 Replies
2. Cybersecurity
Hi. I'm trying to use my sftp client on solaris 9 to connect to an sftp server. ssh is installed correctly and I can see my pub/priv key files in the ~/.ssh directory. When I run sftp -v <target> I get:
bash-2.05# sftp -v retsdsa.merlin.mb.ca
Connecting to retsdsa.merlin.mb.ca...
debug1: SSH... (2 Replies)
Discussion started by: skowal
2 Replies
3. Programming
Problem
- Linux Client/Server Socket Application: Preventing Client from quitting on server crash
Hi,
I am writing a Linux socket Server and Client using TCP protocol on Ubuntu 9.04 x64.
I am having problem trying to implement a scenario where the client should keep running even when the... (2 Replies)
Discussion started by: varun.nagpaal
2 Replies
4. UNIX for Advanced & Expert Users
is it possible to code a server that listens for broadcast as well unicast requests ??
If so please suggest how to do the same ?
Thanks
Gopi Krishna P (2 Replies)
Discussion started by: Gopi Krishna P
2 Replies
5. AIX
Hi
I am facing very strange issue on my vio server 5 vio clients are confgured, now I am to connect 3 vio client , i am unable to connect 2 vio client my ip address,subnet mask,gateway is correct.
i have rebooted and reconfigured the ip address, but issue is persists.
Kindly suggest how to... (0 Replies)
Discussion started by: manoj.solaris
0 Replies
6. Red Hat
Hi,
I use red hat linux ES 5.5 32 bit .
There is x win(startx) installed.
I wan to use XP at another computer and connect the x-win(startx) through IP network .
Which software/freeware I can use ???
Please advice ..
Is it free ??? (0 Replies)
Discussion started by: chuikingman
0 Replies
7. Linux
Hi,
i am trying to connect my Putty session on a windows box to a linux SSH, i have generated private and public key pairs using puttygen, i have set the public one to be in an OPENSSH format... and have put this in my authorized_keys file in linux, when i connect i get the following errors:
... (1 Reply)
Discussion started by: Jtyreman
1 Replies
8. Linux
Hi,
Could you please help me with the below issue..
I'm running RHEL6 OS on both server (192.168.0.10) and client machines (192.168.0.1).
I'm trying to connect to server from the client machine using ftp service.
I have installed vsftpd daemon on both the machines.
I'm getting... (4 Replies)
Discussion started by: raosr020
4 Replies
9. UNIX and Linux Applications
i am new to scripting ,i need bash script in jump server to pull the /etc/passwd of all servers and the ssh keys are installed (3 Replies)
Discussion started by: profiles
3 Replies
LEARN ABOUT DEBIAN
net::smtp::server::relay
Server::Relay(3pm) User Contributed Perl Documentation Server::Relay(3pm)
NAME
Net::SMTP::Server::Relay - A simple relay module 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::Relay module implements simple SMTP relaying for use with the Net::SMTP::Server module. All this module does is to
take a given message and iterate through the list of recipients, doing DNS lookups for the associated MX record and delivering the
messages. This module makes extensive use of the plethora of other modules already implemented for Perl (specifically the DNS and
Net::SMTP modules in this case), and should give but a glimpse of the potential for extending the Net::SMTP::Server's functionality to
provide a full-featured SMTP server, native to Perl.
The above example illustrates the use of the Net::SMTP::Server::Relay modules -- you simply have to instantiate the module, passing along
the sender, recipients, and message. More formally:
$relay = new Net::SMTP::Server::Relay($from, @to, $msg);
Where $from is the sender, @to is an array containing the list of recipients, and $msg is the message to relay.
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::Client
perl v5.10.1 1999-12-28 Server::Relay(3pm)