Re: Pipe - Conecpt
"Eitan M" <no_spam_please@nospam_please.com> wrote in message
news:e7Vf2%23sDHHA.4464@TK2MSFTNGP06.phx.gbl
Are pipes are simmiliar to UDP or to HTTP protocols,
Pipes can be opened in two modes. Stream mode (PIPE_TYPE_BYTE) is
similar to TCP. Message mode (PIPE_TYPE_MESSAGE) is somewhat similar to
UDP, except that it's reliable (delivery and order of messages are
guaranteed) and the recepient may choose to read a single message in
chunks (a UDP datagram must be read all at once, otherwise any unread
portion will be lost).
Just like HTTP is an application-level protocol on top of TCP transport,
one must define and implement an application-level protocol on top of
pipe transport. For example, I don't see any reason why one can't run
HTTP over pipes, though I've never seen anyone do that (more
importantly, you probably won't find any implementations lying around
you could reuse).
A practical example of an application-level protocol over pipes is
Tabular Data Stream (TDS) protocol used by MS SQL Server:
http://msdn.microsoft.com/library/en-us/architec/8_ar_cs_4k6k.asp
In fact, TDS works equally well over TCP and over named pipes.
(I mean that when using HTTP, every data is checked that is sent to
its destination,
when using UDP - that data may be wasted and not sent properly,
no check is done by UDP) ?
It appears that, when you say HTTP, you really mean TCP. Do you
understand the difference? I humbly suggest you refresh your
understanding of network layers model:
http://en.wikipedia.org/wiki/Internet_protocol_suite
--
With best wishes,
Igor Tandetnik
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925