What, exactly, does
ECONNABORTED: An established connection was aborted by the software in
So ... let's start with the most basic of questions: What's a
The two-way communication between two computers (simplifying a bit,
but that's the essential part of it).
When one has a connection, does there have to be communication
back-and-forth periodically before the connection is terminated? If so
... where is the timeout set?
A connection in this case is likely the TCP connection between the
client and your server. Yes, there is two-way communication, due to
TCP. From Wikipedia (http://en.wikipedia.org/wiki/
"TCP is a reliable stream delivery service that guarantees delivery of
a data stream sent from one host to another without duplication or
losing data. Since packet transfer is not reliable, a technique known
as positive acknowledgment with retransmission is used to guarantee
reliability of packet transfers. This fundamental technique requires
the receiver to respond with an acknowledgment message as it receives
the data. The sender keeps a record of each packet it sends, and waits
for acknowledgment before sending the next packet."
Unfortunately I'm not aware of where the timeout is set. I'm not even
sure it's a Rails setting; it may be lower-level than that.
Is the browser terminating the connection or is it (in my case)
Either one could be terminating the connection; when I see that error,
however, it's always been the browser terminating the connection by
navigating to a different page while downloading one or something
Is a connection related to a port? (3000?)
Yes. The port number tells your operating system to which application
it should send the data. Your application registers itself with a
certain port, and no other application can use it until it tells your
OS that it's done. The port number is part of the packet header, IIRC,
and your OS parses that and decides where to send the data.
Can anyone recommend an overview of these issues?
Wikipedia is actually a great resource for many computer science
And follow some of the links. There's a lot of information in this
I hope that helps.