diff --git a/Lidgren.Network/NetClient.cs b/Lidgren.Network/NetClient.cs
index 1d2937a..cda2bbb 100644
--- a/Lidgren.Network/NetClient.cs
+++ b/Lidgren.Network/NetClient.cs
@@ -17,6 +17,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR TH
USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
using System;
+using System.Net;
namespace Lidgren.Network
{
@@ -52,6 +53,19 @@ namespace Lidgren.Network
config.AcceptIncomingConnections = false;
}
+ public override NetConnection Connect(IPEndPoint remoteEndpoint, NetOutgoingMessage approvalMessage)
+ {
+ lock(m_connections)
+ {
+ if (m_connections.Count > 0)
+ {
+ LogWarning("Connect attempt failed; Already connected");
+ return null;
+ }
+ }
+ return base.Connect(remoteEndpoint, approvalMessage);
+ }
+
///
/// Disconnect from server
///
diff --git a/Lidgren.Network/NetPeer.cs b/Lidgren.Network/NetPeer.cs
index cccab37..8dd4587 100644
--- a/Lidgren.Network/NetPeer.cs
+++ b/Lidgren.Network/NetPeer.cs
@@ -217,7 +217,7 @@ namespace Lidgren.Network
///
/// Create a connection to a remote endpoint
///
- public NetConnection Connect(IPEndPoint remoteEndpoint, NetOutgoingMessage approvalMessage)
+ public virtual NetConnection Connect(IPEndPoint remoteEndpoint, NetOutgoingMessage approvalMessage)
{
lock (m_connections)
{