Sockets vs. TLI: peer addresses and datagrams
Jason W May
bunyip at world.std.com
Fri Dec 7 07:22:48 AEST 1990
Here are two questions concerning differences between Berkeley
sockets and SysV TLI:
1) Is there any equivalent of the socket function getpeername()
in TLI? Getpeername() determines the address of the remote peer
process connected to a given socket. Under TLI, this can
be determined by t_connect and t_accept, but if this
information is lost, is it possible to figure it out purely
from the file descriptor associated with the stream?
2) Under Berkeley sockets, it is possible to connect() a socket
associated with a connectionless protocol. This is useful
so that it is not necessary to specify the destination
address for every datagram that is sent, meaning that
read() and write() can be used on the socket.
Is it possible to do the same thing under TLI? That is,
use t_connect() on an endpoint associated with a connectionless
protocol, and treat it as if it were connection-oriented
(even to the extent of pushing the tirdwr module onto the
stream and using read() and write()).
Thanks,
Jason (bunyip at world.std.com)
P.S. To anyone else who is working with sockets or TLI, I strongly
recommend the Stevens book, UNIX Network Programming. No network
programmer should be without a copy.
More information about the Comp.unix.questions
mailing list