<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>I’ve got a question on how to explicitly disconnect a connection from the client side so that the server side knows that the connection has been disconnected. I’d be happy if this worked even with no guarantees, i.e., only when the client and server were in fact well-connected. It’s just an optimization to allow the server to cleanup.<o:p></o:p></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal>I’ve got an HTTP client that uses HTTPConnectionPool to get an Agent, gets a Request from the Agent, and sends the Request to a WebServer on a linux box.  <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On a Mac client, if I call closeCachedConnections() on the HTTPConnectionPool, the client immediately sends FIN on the port with the Request outstanding, the server delivers a callback registered on the Request via NotifyFinish() and the server knows the client has disconnected.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On a Windows client, if I do the same, same code, the client waits until the outstanding Request finishes and then sends FIN. Nothing happens at the server – there’s no Request outstanding on which to deliver a callback, twisted.internet.tcp.Port.connectionLost() doesn’t get called, nada.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Am I missing something?  Is there a way to send a FIN on a connection on which there is an outstanding Request on Windows?<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks in advance,<o:p></o:p></p><p class=MsoNormal>Bob<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>