public Socket Open() { string transportName; if (RememberUpgrade && PriorWebsocketSuccess && Transports.Contains(WebSocket.NAME)) { transportName = WebSocket.NAME; } else { transportName = Transports[0]; } ReadyState = ReadyStateEnum.OPENING; var transport = CreateTransport(transportName); SetTransport(transport); EasyTimer.TaskRunNoWait(() => { var log2 = LogManager.GetLogger(Global.CallerName()); log2.Info("Task.Run Open start"); transport.Open(); log2.Info("Task.Run Open finish"); }); return(this); }