<div>Hi, I'm using .NET client 2.8.7 on Windows. Getting&nbsp;intermittent timeouts when trying to publish a message.&nbsp;The stack trace is below.&nbsp;</div><div><br></div><div>I do NOT think this problem is&nbsp;probabilistic&nbsp;in nature, meaning it does NOT happen to a percentage of the attempts.</div><div>Instead, there seems to be a condition emerging which causes this. As the library I use on top of RabbitMQ .NET client (MassTransit) knows how to retry on failure, most of these do not cause disruptions, but if the condition window sometimes stays open long enough to exceed the number of retries, then it becomes&nbsp;noticeable&nbsp;to the user.</div><div><br></div><div>I think (but not sure) it seems to happen after a period of inactivity, after the connection has been open but idle for a while.</div><div><br></div><div>This seems to only happen when the connection crosses the DMZ boundary, so the NAT factor may be involved. Also,&nbsp;I run on virtualized hardware at Rackspace, so this may be an additional factor.</div><div><br></div><div>Did anybody experience this and has any suggestions on how I could troubleshoot / identify / workaround the issue?</div><div><br></div><div>RabbitMQ.Client.Exceptions.AlreadyClosedException: The AMQP operation was interrupted: AMQP close-reason, initiated by Library, code=0, text="Socket exception", classId=0, methodId=0, cause=System.Net.Sockets.SocketException (0x80004005): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond</div><div>&nbsp; &nbsp;at RabbitMQ.Client.Impl.Frame.ReadFrom(NetworkBinaryReader reader)</div><div>&nbsp; &nbsp;at RabbitMQ.Client.Impl.SocketFrameHandler_0_9.ReadFrame()</div><div>&nbsp; &nbsp;at RabbitMQ.Client.Impl.ConnectionBase.MainLoopIteration()</div><div>&nbsp; &nbsp;at RabbitMQ.Client.Impl.ConnectionBase.MainLoop()</div><div>&nbsp; &nbsp;at RabbitMQ.Client.Impl.SessionBase.Transmit(Command cmd)</div><div>&nbsp; &nbsp;at RabbitMQ.Client.Impl.ModelBase.ModelSend(MethodBase method, ContentHeaderBase header, Byte[] body)</div><div>&nbsp; &nbsp;at RabbitMQ.Client.Impl.ModelBase.BasicPublish(String exchange, String routingKey, Boolean mandatory, Boolean immediate, IBasicProperties basicProperties, Byte[] body)</div><div>&nbsp; &nbsp;at RabbitMQ.Client.Impl.ModelBase.BasicPublish(String exchange, String routingKey, IBasicProperties basicProperties, Byte[] body)</div><div><br></div><div><br></div>