void Start() { EngineRunner engineRunner = GameObject.Find("EngineRunner").GetComponent <EngineRunner>(); Entity entity = new Entity(); positionComponent = new PositionComponent(); entity.AddComponent(positionComponent); engineRunner.engine.AddEntity(entity); }
static void Main(string[] args) { Console.BackgroundColor = ConsoleColor.DarkMagenta; Console.Clear(); EngineRunner.Run(args); DiscoRunner.Run(args); Console.WriteLine("Press <Enter> to terminate."); Console.ReadLine(); DiscoRunner.Terminate(); EngineRunner.Terminate(); Console.ReadLine(); }
public void Init() { Students = new MockRepository <Student, string>( new List <Student>() { new Student() { Id = StudentId, Name = StudentName, StudentCourseClasses = new List <StudentCourseClass>() { new StudentCourseClass() { Class = new CourseClass() { Id = ClassId, Name = ClassName, } } } } }); Surveys = new MockRepository <Survey, string>(); SnapshotGenerator = new MockSnapshotGenerator(); Runner = new EngineRunner(Microsoft.Extensions.Options.Options.Create( new EngineRunnerOptions() { SurveyUrl = "Blank", }), Students, Surveys, SnapshotGenerator, new MockAssignmentGenerator(), new MockMarkovModelGenerator()); Root = Path.Combine(Directory.GetCurrentDirectory(), nameof(EngineRunnerTests)); Submission = new StudentSubmissionDto() { SnapshotFolder = MockSnapshots.GetCalculatorSnapshots(), }; }
public async Task ProcessRequest(AspNetWebSocketContext context) { var socket = context.WebSocket; //传入的context中有当前的web socket对象 _sockets.Add(socket); //此处将web socket对象加入一个静态列表中 string connectionId = context.AnonymousID; //string code = context.QueryString["code"]; string strategy_id = context.QueryString["strategy_id"]; string time = context.QueryString["time"]; string user_id = context.QueryString["user_id"]; // backtest item int data_id = 1; var sy = ""; var nsy = ""; var hc = ""; var xp = ""; string report_path = ""; DateTime dt = DateTime.ParseExact(time, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture); string new_time = dt.ToString("yyyyMMddHHmmss"); string origin_time = dt.ToString("yyyy-MM-dd HH:mm:ss"); StringBuilder sb = new StringBuilder(); Convert(origin_time, sb); string new_time_2 = sb.ToString(); string path = common_path + @"\" + user_id; string file = new_time + ".py"; //utils.saveFile(code, path, file); utils.copyFile(path + @"\" + file, common_path + @"\" + file); // 回测 Task t = new Task(() => { string sArguments = common_path + @"\" + file; EngineRunner runner = new EngineRunner(user_id); runner.RunPythonScript(sArguments); }); t.Start(); byte[] bytes; ArraySegment <byte> buffer; var topic = user_id; using (var subSocket = new SubscriberSocket()) { subSocket.Options.ReceiveHighWatermark = 1000; subSocket.Connect("tcp://*****:*****@"\" + backtest_id + @".docx"; WordFileOperator.CreateReport(code, time, file_path); //进入一个无限循环,当web socket close时循环结束 while (true) { //var buffer = new ArraySegment<byte>(new byte[1024]); var receivedResult = await socket.ReceiveAsync(buffer, CancellationToken.None);//对web socket进行异步接收数据 if (receivedResult.MessageType == WebSocketMessageType.Close) { await socket.CloseAsync(WebSocketCloseStatus.Empty, string.Empty, CancellationToken.None);//如果client发起close请求,对client进行ack _sockets.Remove(socket); break; } if (socket.State == System.Net.WebSockets.WebSocketState.Open) { string recvMsg = Encoding.UTF8.GetString(buffer.Array, 0, receivedResult.Count); var recvBytes = Encoding.UTF8.GetBytes(recvMsg); var sendBuffer = new ArraySegment <byte>(recvBytes); foreach (var innerSocket in _sockets)//当接收到文本消息时,对当前服务器上所有web socket连接进行广播 { if (innerSocket != socket) { await innerSocket.SendAsync(sendBuffer, WebSocketMessageType.Text, true, CancellationToken.None); } } } } } }