|
Definition
Sockets are interfaces that
can "plug into" each other over a network. Once so "plugged in",
the programs so connected communicate. A "server" program is exposed
via a socket connected to a certain /etc/services port number. A "client"
program can then connect its own socket to the server's socket, at which time
the client program's writes to the socket are read as stdin to the server program,
and stdout from the server program are read from the client's socket reads.
Before a user process can perform
I/O operations, it calls Open to specify and obtain permissions for the file or
device to be used. Once an object has been opened, the user process makes one
or more calls to Read or Write data. Read reads data from the object and transfers
it to the user process, while Write transfers data from the user process to the
object. After all transfer operations are complete, the user process calls Close
to inform the operating system that it has finished using that object. When
facilities for InterProcess Communication (IPC) and networking were added, the
idea was to make the interface to IPC similar to that of file I/O. In Unix, a
process has a set of I/O descriptors that one reads from and writes to. These
descriptors may refer to files, devices, or communication channels (sockets).
The lifetime of a descriptor is made up of three phases: creation (open socket),
reading and writing (receive and send to socket), and destruction (close socket).
History Sockets
are used nearly everywhere, but are one of the most severely misunderstood technologies
around. This is a 10,000 foot overview of sockets. It's not really a tutorial
- you'll still have work to do in getting things working. It doesn't cover the
fine points (and there are a lot of them), but I hope it will give you enough
background to begin using them decently.I'm only
going to talk about INET sockets, but they account for at least 99% of the sockets
in use. And I'll only talk about STREAM sockets - unless you really know what
you're doing (in which case this HOWTO isn't for you!), you'll get better behavior
and performance from a STREAM socket than anything else. I will try to clear up
the mystery of what a socket is, as well as some hints on how to work with blocking
and non-blocking sockets. But I'll start by talking about blocking sockets. You'll
need to know how they work before dealing with non-blocking sockets. Part
of the trouble with understanding these things is that "socket" can
mean a number of subtly different things, depending on context. So first, let's
make a distinction between a "client" socket - an endpoint of a conversation,
and a "server" socket, which is more like a switchboard operator. The
client application (your browser, for example) uses "client" sockets
exclusively; the web server it's talking to uses both "server" sockets
and "client" sockets. Of the various forms of IPC (Inter Process
Communication), sockets are by far the most popular. On any given platform, there
are likely to be other forms of IPC that are faster, but for cross-platform communication,
sockets are about the only game in town.
They
were invented in Berkeley as part of the BSD flavor of Unix. They spread like
wildfire with the Internet. With good reason -- the combination of sockets with
INET makes talking to arbitrary machines around the world unbelievably easy (at
least compared to other schemes).
You may also like this : Smart Quill, Spam Assassin, Stereoscopic Imaging, Zigbee, Ultra-Wideband, Home Networking, Internet Protocol Television , Bacterio-Rhodopsin Memory, Blade Servers, Digital Cinema, Holographic Versatile Disc, Itanium Processor , Local Multipoint Distribution Service , Network Attached Storage, Night Vision Technology, Opera (web browser), Parasitic Computing, Performance Testing, Java Ring , RD RAM , GSM Security And Encryption , Fast Convergence Algorithms for Active Noise Controlin Vehicles , 3G vs WiFi , Data Security in Local Network using Distributed Firewalls, Computerized Paper Evaluation using Neural Network, Bluetooth Based Smart Sensor Networks , Laser Communications, Multiple Domain Orientation , Industrial Applications using Neural Networks , Implementation Of Zoom FFT , Image Processing , Virtual keyboard , Transient Stability Assessment using Neural Networks , Tracking and Positioning of Mobiles in Telecommunication, Timing Attacks on Implementations , Prototype System Design for Telemedicine , Optical Networking and Dense Wavelength Division Multiplexing , Optical Burst Switching, Image Processing & Compression , Cyberterrorism , Ipv6 - The Next Generation Protocol , Driving Optical Network Evolution , Cellular Neural Network , Radio Network Controller , Digital Audio Broadcasting , Significance of real-time transport Protocol in VOIP , Space Mouse , Resilient Packet Ring Technology , Wireless Networked Digital Devices, Design of 2-D Filters using a Parallel Processor Architecture, Computer Seminars Reports and PPT
|
<<back |