 <p>You could look at this 2 ways.</p> <ol> <li><p>Don't actually Receive whilst your are in your stopped state, just in your BeginReceive, just drop/ignore the data</p></li> <li><p>If you really need to recreate the socket, then don't perform the disconnect on your Server because you haven't actually got a connection. Your disconnect is throwing</p></li> </ol> <p><code>System.Net.Sockets.SocketException (0x80004005): A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied</code></p>