<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Tcp on Rylee George</title>
    <link>https://ryleeg.com/tags/tcp/</link>
    <description>Recent content in Tcp on Rylee George</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 29 Aug 2026 00:00:00 +1000</lastBuildDate>
    <atom:link href="https://ryleeg.com/tags/tcp/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>TCP Gaslighting. When the Proxy Says Goodbye But Your App Doesnt Hear It</title>
      <link>https://ryleeg.com/posts/tcp-gaslighting/</link>
      <pubDate>Sat, 29 Aug 2026 00:00:00 +1000</pubDate>
      <guid>https://ryleeg.com/posts/tcp-gaslighting/</guid>
      <description>&lt;p&gt;You are staring at your apps logs, coffee in hand, confused.&lt;/p&gt;&#xA;&lt;p&gt;At &lt;strong&gt;12:05:03 PM&lt;/strong&gt;, your app throws a &lt;code&gt;connection reset by peer&lt;/code&gt; error. The stacktrace is clear: &lt;em&gt;The client closed the connection before your app could respond.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;You then check the access logs on your Load Balancer to see when this client actually hung up.&lt;/p&gt;&#xA;&lt;p&gt;The timestamp on the LB says &lt;strong&gt;12:00:00 PM&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Five full minutes.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;That client didn&amp;rsquo;t just &lt;em&gt;wait&lt;/em&gt; for 5 minutes and then close they were gone at the 60-second mark. Your app, spent the next 240 seconds crunching away. Unaware that the party was already over. Only when it finally tried to shout the answer back into the void did the operating system snap back with a reality check: &lt;em&gt;&amp;ldquo;That socket died four minutes ago. You&amp;rsquo;re talking to a ghost.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
