Sponsored Content
Top Forums Programming can client connect() when server in sleep(300); after listen(fd,5); Post 24810 by chenhao_no1 on Thursday 18th of July 2002 01:49:42 AM
Old 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

Client wont connect to server

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

sftp client can't connect

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

Client/Server Socket Application - Preventing Client from quitting on server crash

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

how to make server to listen to unicast as well broadcast requests

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

Unable to connect VIO client

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

x-win client connect 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

Help!! trying to connect to linux SSH from windows putty client

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

Unable to connect to Server machine from a client machine using ftp service

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

Logging to server to get etc/passwd file of all 300 server

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
LISTEN(2)						      BSD System Calls Manual							 LISTEN(2)

NAME
listen -- listen for connections on a socket LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <sys/socket.h> int listen(int s, int backlog); DESCRIPTION
To accept connections, a socket is first created with socket(2), a willingness to accept incoming connections and a queue limit for incoming connections are specified with listen(), and then the connections are accepted with accept(2). The listen() call applies only to sockets of type SOCK_STREAM or SOCK_SEQPACKET. The backlog parameter defines the maximum length the queue of pending connections may grow to. If a connection request arrives with the queue full the client may receive an error with an indication of ECONNREFUSED, or, if the underlying protocol supports retransmission, the request may be ignored so that retries may succeed. RETURN VALUES
A 0 return value indicates success; -1 indicates an error. ERRORS
listen() will fail if: [EBADF] The argument s is not a valid descriptor. [ENOTSOCK] The argument s is not a socket. [EOPNOTSUPP] The socket is not of a type that supports the operation listen(). SEE ALSO
accept(2), connect(2), socket(2) HISTORY
The listen() function call appeared in 4.2BSD. BUGS
The backlog is currently limited (silently) to 128. BSD
December 11, 1993 BSD
All times are GMT -4. The time now is 10:25 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy