03-27-2008
UNIX domain sockets vs FIFOs
Is there a performance advantage of one of these over the other? Obviously, it makes no sense to use normal TCP sockets or UDP sockets w/ the overhead they carry. But what about UNIX domain sockets vs FIFOs? I'd think they'd be very similar, in terms of performance and in terms of how they're manipulated.
I plan on doing non-blocking I/O on these and using select to decide when to read an interface.
Thanks,
Matt Gessner
10 More Discussions You Might Find Interesting
1. IP Networking
hello,
how can we create a domain in unix operating systems. By domain i mean which is used to maintain remote user logins and etc.
cheers (1 Reply)
Discussion started by: vibhory2j
1 Replies
2. UNIX for Dummies Questions & Answers
Hi,
Can I make a UNIX or LINUX machine a member of MS Active Directory 2003?
How?
Regards
Leo (4 Replies)
Discussion started by: Teamplay
4 Replies
3. UNIX for Dummies Questions & Answers
Hiya,
what is the exact command to add a Unix machine to the existing domain?
Is this command different for Linux/HP-Ux?
thanks (3 Replies)
Discussion started by: Wize
3 Replies
4. HP-UX
Hi,
I am having some error handling issues with and fd passed between Independent processes using unix domain sockets (On HPUX).
Here is the scnerio
=================
Step 1: TPC/Client (connect()) ---Connects to ------TCP/Server(Gateway) (server gets fd)
Step 2: ... (2 Replies)
Discussion started by: Debasisb2002
2 Replies
5. Programming
omg i need help so bad. I've been working on a school project for what seems like an eternity and i'm close to deadline. Using FIFO's (i ahve to) to communicate between parent and child proc's. Right now I'm stuck on a read/write.
fifomsg is a struct with int length and char message fields. ... (5 Replies)
Discussion started by: Funktar
5 Replies
6. Programming
Hi, so I've got this program("main") that fork executes another ("user"). These programs communicate through fifos.
One communication is a spawn call, where user passes an executable, main forks and executes it. So, I'm keeping track of all my processes using a task table. After the fork (for... (6 Replies)
Discussion started by: Funktar
6 Replies
7. Linux
This isn't strictly a Linux question, but... I've been working on a project to archive some streaming media for time shifting using 'mplayer' and have been using FIFOs to archive in Ogg Vorbis format:
mkfifo program_name.wav
(mplayer -ao pcm -aofile program_name.wav &)... (0 Replies)
Discussion started by: deckard
0 Replies
8. UNIX for Advanced & Expert Users
How can I make tar read data from a fifo, instead of storing it as a fifo? (8 Replies)
Discussion started by: Corona688
8 Replies
9. UNIX for Advanced & Expert Users
If I use sockets for IPC, and can easily distribute my applications.
UNIX Message Queues are local to the processor.
As I understand it, Message Queues still incur system call overhead, just like socket calls.
What advantage does a UNIX Message Queue provide versus a TCP or UDP Socket,... (2 Replies)
Discussion started by: zen29sky
2 Replies
10. UNIX for Dummies Questions & Answers
Hi,
i understood that there are several type of sockets: TCP, UDP & Unix.
i wondered, what is the performance advantages of unix socket of the other types?
isn't it equal to use UDP with localhost as destination over unix socket?
Thanks in advance,
Sariel (1 Reply)
Discussion started by: sarielz
1 Replies
UNIX(7P) UNIX(7P)
NAME
UNIX - local communication domain protocol
SYNOPSIS
DESCRIPTION
The local communication domain protocol, commonly referred to in the industry as the Unix domain protocol, utilizes the path name address
format and the address family. This protocol can be used as an alternative to the Internet protocol family (TCP/IP or UDP/IP) for communi-
cation between processes executing on the same node. It has a significant throughput advantage when compared with local IP loopback, due
primarily to its much lower code execution overhead. Data is looped back at the protocol layer (OSI Level 4), rather than at the driver
layer (OSI Level 2).
Only is supported in the address family.
The HP-UX implementation of the local communication domain protocol does not support the flag in (see recv(2)) and (see send(2)).
Addressing
socket addresses are path names. They are limited to 92 bytes in length, including a terminating null byte. Calls to to an socket utilize
an addressing structure called (see bind(2)). Pointers to this structure should be used in all socket system calls wherever they require a
pointer to a
The include file defines this addressing structure. Within this structure are two notable fields. The first is sun_family, which must be
set to The next is sun_path, which is the null-terminated character string that specifies the path name of the file associated with the
socket (for example,
Only the passive (listening) socket must bind to an address. The active socket connects to that address, but it does not need an address
of its own.
For additional information on using sockets for interprocess communication, refer to the BSD Sockets Interface Programmer's Guide.
Socket Buffer Size
For stream and datagram sockets, the maximum send and receive buffer size is 262142 bytes. The default buffer size is 32768 bytes. The
send and receive buffer sizes can be altered by using the and options of the system call. Refer to getsockopt(2) for details.
AUTHOR
was developed by the University of California, Berkeley.
SEE ALSO
getsockopt(2), socket(2).
UNIX(7P)