sockets or stream ?

sockets or stream ?

Post by Jim A. Fette » Thu, 30 Nov 1995 04:00:00



I'm a newbie to networking, and right now I'm writing a
client/server program in C++ under linux...

my questions is: what should I focus on to get a
basic knowledge? right now I'm focusing on Berkeley sockets,
but I also see RPC, Streams, etc.  What should I concentrate on
(or rather what should I ignore)...about the wide field
of networking?  I've got the stevens book and also another one
on Unix System V (SVR4) network programming....

Jim

 
 
 

sockets or stream ?

Post by Dave Wres » Fri, 01 Dec 1995 04:00:00



: I'm a newbie to networking, and right now I'm writing a
: client/server program in C++ under linux...

: my questions is: what should I focus on to get a
: basic knowledge? right now I'm focusing on Berkeley sockets,
: but I also see RPC, Streams, etc.  What should I concentrate on

Hi again Jim.  If your doing client/server, then I would certainly start
with basic TCP sockets.  Depending on what type of client/server you are
doing, this should suit most purposes.  RPC is like third or fourth semester
stuff, from what I remember.  Which streams are you referring to, btw?

There are the streams that Kernigan invented, which you might have a hard
time finding information about (epecially under linux), and I think they
are relatively difficult.

You might try message queues, TCP sockets, socketpair() between a parent/child,
UDP for broadcast.

What is the end result you are trying to attain?

: (or rather what should I ignore)...about the wide field
: of networking?  I've got the stevens book and also another one
: on Unix System V (SVR4) network programming....

I think you will have a hell of a time with SVR4 stuff under linux - get
yourself the $50 Comer 'Internetworking with TCP/IP, Volume III' as a good
start.. This book assumes you have a good working knowlege of sockets, and
basic low level I/O.  It concentrates on structuring a client server program.

Let me know what you plan to write for linux - I have some free time coming
over winter break, and this is something I would like to attack.

See ya,
Dave

: Jim

 
 
 

sockets or stream ?

Post by John D. Roberts » Sat, 02 Dec 1995 04:00:00


Quote:>I'm a newbie to networking, and right now I'm writing a
>client/server program in C++ under linux...
>my questions is: what should I focus on to get a
>basic knowledge? right now I'm focusing on Berkeley sockets,
>but I also see RPC, Streams, etc.  What should I concentrate on
>(or rather what should I ignore)...about the wide field
>of networking?  I've got the stevens book and also another one
>on Unix System V (SVR4) network programming....
>Jim

When learning networks programming on the SGI, I consulted their networks
programming guide.  The guide suggested streams, but didn't have much in the
way of examples.  After contacting SGI and talking to one of their
programmers, I found out that most of their code is written for sockets, and
not streams.

It seems that streams are something that a few computer science luminaries are
canvassing, but are not widely used in industry.

Use BSD sockets.

John D. Robertson

 
 
 

sockets or stream ?

Post by Mark P. Nels » Sat, 02 Dec 1995 04:00:00



: I'm a newbie to networking, and right now I'm writing a
: client/server program in C++ under linux...

: my questions is: what should I focus on to get a
: basic knowledge? right now I'm focusing on Berkeley sockets,
: but I also see RPC, Streams, etc.  What should I concentrate on
: (or rather what should I ignore)...about the wide field
: of networking?  I've got the stevens book and also another one
: on Unix System V (SVR4) network programming....

Streeams are wonderful, but the streams for Linux project is stalled
with no one working on it at the moment, so you'll have no joy there.

The Stevens book is great, but there's a lot of code that assumes streams,
which you'll either have to avoid or rewrite.

Sockets you must know.  RPC you should not ignore.

If you are thinking of a future as a programmer in the corporate world,
don't ignore streams, but if not, you may safely do so.

--
Mark P. Nelson
Programmer/Analyst II        --        First you program, then you analyze.
Department of Integrative Biology, Thomson Laboratory

 
 
 

sockets or stream ?

Post by Guy Harr » Sun, 03 Dec 1995 04:00:00



Quote:>Streeams are wonderful, but the streams for Linux project is stalled
>with no one working on it at the moment, so you'll have no joy there.

Besides, is that "streams for Linux" or "streams plus some
non-socket-based networking API for Linux"?

In SV-flavored UNIXes, STREAMS (that's how it's spelled in SV) is *not*
a networking API; it's a mechanism atop which networking APIs can be
built.

One such API is the one that showed up in SVR3, called "TLI" (Transport
Layer Interface), and derivatives of it such as X/Open's XTI; that (and
the kernel interface to support it, TPI) are built atops streams.

Another such API is offered, along with TLI, by SVR4; it's called
"sockets".  I.e., the sockets API is implemented atop STREAMS in SVR4.

I suspect more networking applications for UNIX are implemented atop a
sockets API than atop a TLI API; for one thing, more UNIXes support the
sockets API than support TLI....

 
 
 

sockets or stream ?

Post by Roger Espel Lli » Mon, 04 Dec 1995 04:00:00


|In SV-flavored UNIXes, STREAMS (that's how it's spelled in SV) is *not*
|a networking API; it's a mechanism atop which networking APIs can be
|built.
|
|One such API is the one that showed up in SVR3, called "TLI" (Transport
|Layer Interface), and derivatives of it such as X/Open's XTI; that (and
|the kernel interface to support it, TPI) are built atops streams.
|
|Another such API is offered, along with TLI, by SVR4; it's called
|"sockets".  I.e., the sockets API is implemented atop STREAMS in SVR4.
|
|I suspect more networking applications for UNIX are implemented atop a
|sockets API than atop a TLI API; for one thing, more UNIXes support the
|sockets API than support TLI....

I keep hearing of STREAMS and TLI (and this post makes it quite clear
what they are), but what are the system calls involved in using them?

I'd rather read a few manpages than buy a whole book about it... that's
how I learned sockets after all.

--

"You don't possess me, don't impress me, just upset my mind
 Can't instruct me or conduct me, just use up my time" -King Crimson

 
 
 

1. How to push STREAMS module into socket stream

I understand that the kernel network subsystem is implimented as
STREAMS. So socket in this sense is also implemented as STREAMS.
I created a streams module and tried to push the module between IP and
TCP. The xx_open and xx_close of the streams module is called but the
xx_put function never gets called. An ioctl (..I_LIST) shows that the
module IS pushed into the socket stream.

can anyone help me with this. I need to push a STREAMS module between
TCP and IP(IP and network driver).

Thanks

Sent via Deja.com http://www.deja.com/
Before you buy.

2. Preventing flash mail?

3. My stream socket vs message queue test results...

4. Debian: startx problem...

5. Socket problem, streaming data

6. programmatically determine if a network connection exists

7. Help: sockets -> streams in C++

8. New Linksys router/firewall logging tool

9. Internet stream sockets

10. TCPIP Stream Socket losing data - Solaris 2.3

11. socket-stream-C++

12. Socket Stream 4K data limit.

13. socket streams, listen(), accept() and connect().