Re: [colorforth] TCP State Engine
- Subject: Re: [colorforth] TCP State Engine
- From: Jonah Thomas <j2thomas@xxxxxxxxxx>
- Date: Thu, 15 Apr 2004 16:22:30 -0400
- Organization: Elysium
maslicke@xxxxxxxxxxx wrote:
Thanks for reiterating the obvious. A Web Browser is an
example use of TCP, unless you want to create a Forth web
which I don't think can compete content wise. A local Linux
based proxy was once mentioned, this is just shuffling the
complexity elsewhere, not solving the actual problem.
Sorry if it was too obvious.
The point is, if you want a web browser you have to be compatible with
as much of the existing complexity as you want to browse. That isn't
going to be any 3-block solution. You might get TCP in 3 blocks,
maybe, but you aren't going to get much of a web browser that way.
If the messages you want to send and receive over TCP are your own
kind, then you can do it the way you want. It won't compete with web
browsers but it might be perfect for refrigerators and stoves and such
to communicate over the net. You might find a better way for a bunch
of Motes to communicate than what they have already. There are lots
of potential applications besides web browsers. And there's the
question whether you need more than one UDP packet at a time. If you
can put everything into one UDP packet then you don't need to
implement all of TCP. You still want to confirm that packets get
through, but you don't need much packet reordering etc. So
implementing just the part of TCP that you need first might split the
problem into easy pieces.
From: Jonah Thomas <j2thomas@xxxxxxxxxx>
maslicke@xxxxxxxxxxx wrote:
From: Albert van der Horst <albert@xxxxxxxxxxxxxxxxxx>
All this sounds horrible. What could we simplify if we use
only the network hardware to communicate between two Forth
boxes?
I wouldn't give up yet. Chuck sugests on his page that
TCP/IP could be done in 3 blocks. We have one block for IP,so
maybe two blocks for TCP.
Complexity here is perhaps the price of admision for
communicating with the world. There is no doubt things
could be simpler.
The question becomes, who do you want to communicate with?
If it's only between Forth boxes over the net, then you need
the minimum it takes to keep the foreign machines along the
route from choking, plus whatever you want to do.
If you want to communicate with others then you need to be
able to send them what you want to send, and you need to handle
whatever garbage they throw back. In general the simpler you
send things the less trouble they'll have with it. (But
sometimes they'll demand arcane standards.) There's no telling
what they'll send you, but you can reject whatever you aren't
willing to deal with.
---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@xxxxxxxxxxxxxxxxxx
For additional commands, e-mail: colorforth-help@xxxxxxxxxxxxxxxxxx
Main web page - http://www.colorforth.com