Quick question following on from some of the discussions at the last meeting with James Powell's messenger work.
I heard it said there and I've heard it before that with TCP communication you have to handle the fact that TCP connections can "break" and need to be re-established, because TCP (whilst good as it ensures messages arrive) can be unreliable. Is that true with TCP between processes/applications on the local machine only? Or is it really only an issue when actually communicating across a network?
Just picked up on this.
It's a great question. I can't say 100% but my basic understanding is that localhost connections just run through operating system pipes. So it should be extremely stable.
SO seems to agreeL windows - Chance of losing a localhost network connection? - Stack Overflow
Now I would consider certain parts of making networking robust still appropriate, for example making it easy to reconnect if part of the application crashes. But the link can probably be considered pretty stable once made.
Thanks! I should probably have made it a more prominent message or found somewhere more specific for it!
It makes sense to me (in my limited knowledge) that TCP based comms between apps on one machine should be pretty stable in themselves, and its then just down to the stability of the apps and not so much the messaging mechanism.
And I guess by having reconnectability if an app falls over, you're more than half way to the same for comms falling over if the system is ever run across multiple machines.