Deutsch   English   Français   Italiano  
<vj78c8$pka$1@reader2.panix.com>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!news.quux.org!weretis.net!feeder9.news.weretis.net!panix!.POSTED.spitfire.i.gajendra.net!not-for-mail
From: cross@spitfire.i.gajendra.net (Dan Cross)
Newsgroups: comp.unix.programmer
Subject: Re: Text based synchronous communication tool for Linux?
Date: Mon, 9 Dec 2024 17:11:36 -0000 (UTC)
Organization: PANIX Public Access Internet and UNIX, NYC
Message-ID: <vj78c8$pka$1@reader2.panix.com>
References: <vj44hq$3q2ag$1@dont-email.me> <vj69hi$asvu$1@dont-email.me> <vj6p0h$j5l$1@reader2.panix.com> <vj7839$g95f$1@dont-email.me>
Injection-Date: Mon, 9 Dec 2024 17:11:36 -0000 (UTC)
Injection-Info: reader2.panix.com; posting-host="spitfire.i.gajendra.net:166.84.136.80";
	logging-data="26250"; mail-complaints-to="abuse@panix.com"
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
Originator: cross@spitfire.i.gajendra.net (Dan Cross)

In article <vj7839$g95f$1@dont-email.me>,  <Muttley@DastardlyHQ.org> wrote:
>On Mon, 9 Dec 2024 12:49:21 -0000 (UTC)
>cross@spitfire.i.gajendra.net (Dan Cross) wibbled:
>>In article <vj69hi$asvu$1@dont-email.me>,  <Muttley@DastardlyHQ.org> wrote:
>>>On Sun, 8 Dec 2024 18:36:35 -0000 (UTC)
>>>cross@spitfire.i.gajendra.net (Dan Cross) wibbled:
>>>>works is brittle and doesn't work well over the modern Internet.
>>>>In particular, it is de-facto limited to IPv4 and doesn't
>>>>play well with firewalls: it involves sending the contents of a
>>>>`sockaddr_in` across the network, and using that to set up a
>>>>(direct) TCP connection between processes.  One could imagine
>>>
>>>Huh? I don't get how that works.
>>
>>Yes.
>>
>>>You need a connection in the first place to
>>>send anything unless you use a broadcast UDP address. You can't just 
>>>automagically set up a connection without the OS network layer playing its 
>>>part.
>>
>>A `sockaddr_in` is just a data structure that names a socket
>>address.  For the Internet family, it's just got a few things in
>>it: an address, a port number, a family type, and length.
>>That's basically it.
>>
>>The walk `talk` works, the client sets up a TCP listening
>>socket, and then sends the address for that to the `talk` daemon
>>both locally and at the distant end; the talk daemon at the
>>distant end then alerts the destired user that someone wants to
>>talk to them.
>>
>>Assuming that person wants to respond, _they_ invoke their
>>talk client, which talks to the local talk daemon, sees the
>>pending request, retrieves the socket address structure, and
>>uses it to connect to the originating user's talk client's
>>TCP listening socket.
>>
>>The connection to the talk daemon isn't connection oriented
>>at all; it's done via a UDP packet.  That is, the talk client
>>creates a listening TCP socket, takes the (binary) address
>>of the listening socket, embeds that address in a UDP packet,
>>sends that over the network, and on the distant end that
>>informatio is used to create a (TCP) connection back to the
>>origin.
>
>What an idiotically complicated way to set up a simple TCP connection.

It wasn't the best protocol, but the complexity of setting up
the connection was not why.

	- Dan C.