05-30-2011
After select() returns without error you pass the socked handler to accept(), accept() will return a new socket ONLY for that particular connection/session, the first socked is free again to be handled by select() and loses relation with previous client. You should not write or read anything on the main socket.
10 More Discussions You Might Find Interesting
1. Programming
I have written a socket program in C under RedHat Linux 6.2. This program is using SOCK_STREAM (TCP) to connect to any ip address at port # 23. The program is hosted on the linux machine and works well with Cisco routers. But when I am trying to connect to the same linux machine, it does not return... (4 Replies)
Discussion started by: biswa
4 Replies
2. Programming
Hello everyone. I have a question regarding select() function. Imagine i had passed a fd_set* as the readfds parameter. Can i add some fd to the fd_set, using FD_SET, while the thread is blocked in the select call(obviously from another thread), and will that select call monitor those fd, even if... (2 Replies)
Discussion started by: adadon
2 Replies
3. Shell Programming and Scripting
Hi!
My data file contains a two columns list. It looks like:
1 3.789
2 6.789
3 7.890
4 8.900
5 6.789
6 1.987
7 10.987
8 2.987
9 0.987
I would like to create a new list using the awk command, just selecting data from the second column but also printing the first column.
Let say I select... (3 Replies)
Discussion started by: cris48
3 Replies
4. UNIX for Dummies Questions & Answers
Hi,
I am trying to send email with attacment and body using "mailx"
(cat body.txt; uuencode attach.txt) | mailx -s "Attachment" abc@xyz.com
When i type this command, the shell is still waiting for me to enter something in standard input and press control D before it sends a mail and... (2 Replies)
Discussion started by: aliaszero
2 Replies
5. Homework & Coursework Questions
Write a program using select, which will create some number of child processes that continuously send text messages to the parent process using pipes. Each child has its own pipe that it uses to communicate with the parent. The parent uses select () to decide what pipes should be processed to... (1 Reply)
Discussion started by: ripssingh
1 Replies
6. Shell Programming and Scripting
Hi ,
I want to select data from a file .the datas in a file will be in both upper and lower case. can able to select particular data using awk.
file is like
Ram Selva 24332 UNIXTEAM
Karthi Siva 43322 UNIXTEAM
In read if i enter selva as lowercase its not displaying result. (9 Replies)
Discussion started by: boopal
9 Replies
7. Shell Programming and Scripting
I would like to recover the data from 3 text tags.
These three markers are located between the tags specific location <tag1> and </tag1> knowing that they are in many places.
In File.txt:
<tag2>txt2</tag2>
<tag3>txt3</tag3>
<tag4>txt4</tag4>
....
<tag1>
<tag2>txt2</tag2>... (3 Replies)
Discussion started by: Amad
3 Replies
8. UNIX for Dummies Questions & Answers
Hello all,
Once again I need to call upon the masters for help. I have a file called endpoint_data. IN that file I have groups of endpoints. However all I need from the file is this....
ENDPOINT NAME = SIPWOODSBC
SIG PRI FQDN/IP ADDRESS/DOMAIN NAME = 10.xxx.xxx.xxx
SIG SEC... (4 Replies)
Discussion started by: jay11789
4 Replies
9. IP Networking
Hello All,
I am very new to socket programming and client server architecture. I have to write a client which will send some data to server and server will display it on its console. I am ready with both client and server but my problem is with packetizing of data --
I have... (1 Reply)
Discussion started by: anand.shah
1 Replies
10. Shell Programming and Scripting
I wish to use AWK to do something akin: Select all 2D data with 1<$1<2 and -7.5<$2<-6.5
But it's not working
awk 'END {print ($1<=2&&$1>=1&&$2<=-6.5&&$2>=-7.5)}' bla
Data:
-1.06897 -8.04482 -61.469
-1.13613 -8.04482 -61.2271
-1.00182 -8.04482 -61.2081
-1.06897 -8.13518 -60.8544... (2 Replies)
Discussion started by: chrisjorg
2 Replies
tcp(4p) tcp(4p)
Name
tcp - Internet Transmission Control Protocol
Syntax
#include <sys/socket.h>
#include <netinet/in.h>
s = socket(AF_INET, SOCK_STREAM, 0);
Description
The TCP protocol provides reliable, flow-controlled, two-way transmission of data. It is a byte-stream protocol used to support the
SOCK_STREAM abstraction. TCP uses the standard Internet address format and, in addition, provides a per-host collection of ``port
addresses''. Thus, each address is composed of an Internet address specifying the host and network, with a specific TCP port on the host
identifying the peer entity.
Sockets utilizing the TCP protocol are either ``active'' or ``passive''. Active sockets initiate connections to passive sockets. By
default TCP sockets are created active; to create a passive socket the system call must be used after binding the socket with the system
call. Only passive sockets can use the call to accept incoming connections. Only active sockets can use the call to initiate connections.
Passive sockets can ``underspecify'' their location to match incoming connection requests from multiple networks. This technique, termed
``wildcard addressing'', allows a single server to provide service to clients on multiple networks. To create a socket that listens on all
networks, the Internet address INADDR_ANY must be bound. The TCP port can still be specified at this time. If the port is not specified,
the system will assign one. Once a connection has been established, the socket's address is fixed by the peer entity's location. The
address assigned the socket is the address associated with the network interface through which packets are being transmitted and received.
Normally, this address corresponds to the peer entity's network.
TCP supports one socket option that is set with and tested with Under most circumstances, TCP sends data when it is presented; when out-
standing data has not yet been acknowledged, it gathers small amounts of output to be sent in a single packet, once an acknowledgement is
received. For a small number of clients, such as window systems that send a stream of mouse events that receive no replies, this packeti-
zation may cause significant delays. Therefore, TCP provides a Boolean option, TCP_NODELAY (from to defeat this algorithm. The option
level for the call is the protocol number for TCP, available from
Diagnostics
A socket operation may fail with one of the following errors returned:
[EISCONN] Try to establish a connection on a socket which already has one.
[ENOBUFS] The system runs out of memory for an internal data structure.
[ETIMEDOUT] A connection was dropped due to excessive retransmissions.
[ECONNRESET] The remote peer forces the connection to be closed.
[ECONNREFUSED] The remote peer actively refuses connection establishment (usually because no process is listening to the port).
[EADDRINUSE] An attempt is made to create a socket with a port that has already been allocated.
[EADDRNOTAVAIL] An attempt is made to create a socket with a network address for which no network interface exists.
See Also
getsockopt(2), socket(2), inet(4f), intro(4n), ip(4p)
tcp(4p)