diff --git a/shadowsocks-csharp/Util/Sockets/WrappedSocket.cs b/shadowsocks-csharp/Util/Sockets/WrappedSocket.cs index 2f3aa471..0ef07912 100644 --- a/shadowsocks-csharp/Util/Sockets/WrappedSocket.cs +++ b/shadowsocks-csharp/Util/Sockets/WrappedSocket.cs @@ -42,7 +42,10 @@ namespace Shadowsocks.Util.Sockets arg.Completed += OnTcpConnectCompleted; arg.UserToken = new TcpUserToken(callback, state); - Socket.ConnectAsync(SocketType.Stream, ProtocolType.Tcp, arg); + if(!Socket.ConnectAsync(SocketType.Stream, ProtocolType.Tcp, arg)) + { + OnTcpConnectCompleted(this, arg); + } } private class FakeAsyncResult : IAsyncResult