private static async void ConAsync() { ThreadPool.QueueUserWorkItem((A) => { while (true) { MessageThreadTransducer.Update(0); //Thread.Yield(); } }); ///性能测试 TestSpeed(); ///连接测试 //TestConnect(); }
static void Main(string[] args) { ///将协议类的程序集注册进查找表中 MessagePackLUT.Regist(typeof(Login).Assembly); ///建立主线程 或指定的任何线程 轮询。(确保在unity中使用主线程轮询) ///ThreadScheduler保证网络底层的各种回调函数切换到主线程执行以保证执行顺序。 ThreadPool.QueueUserWorkItem((A) => { while (true) { MessageThreadTransducer.Update(0); Thread.Yield(); } }); ConnectAsync(); Console.ReadLine(); }
private static void PrepareEnvironment(CancellationTokenSource cancellation) { Task.Factory.StartNew(() => { while (true) { MessageThreadTransducer.Update(0); Thread.Yield(); } }, cancellation.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default); //ThreadPool.QueueUserWorkItem((A) => //{ // while (!cancellation.Token.IsCancellationRequested) // { // MainThreadScheduler.Update(0); // Thread.Yield(); // } //}); Task.Delay(50).Wait(); }
private static async void InitServer() { //MessagePackLUT.Regist(typeof(Login).Assembly); Protobuf_netLUT.Regist(typeof(Login).Assembly); ThreadPool.QueueUserWorkItem((A) => { while (true) { MessageThreadTransducer.Update(0); Thread.Yield(); } }); await DCSContainer.Start(); //FightService service = new FightService(); //BusinessContainer.Instance.AddService(service); GateService gateService = new GateService(); DCSContainer.AddService(gateService); }
private static async void ListenAsync() { ThreadPool.QueueUserWorkItem((A) => { CoolDownTime coolDown = new CoolDownTime() { MinDelta = TimeSpan.FromSeconds(30) }; while (true) { MessageThreadTransducer.Update(0); //Thread.Sleep(1); //if (coolDown) //{ // GC.Collect(); //} } }); TCPRemoteListener remote = new TCPRemoteListener(54321); Listen(remote); }
static void Main(string[] args) { //decimal.TryParse(" 1.03", out var a); //HttpClient c = new HttpClient(); //var str = "1212"; //var data = new StringContent(str, System.Text.Encoding.UTF8); //var t = c.PostAsync("http://localhost:56727/api/boc/Save", data); //var s = t.Result.Content.ReadAsStringAsync().Result; //将协议类的程序集注册进查找表中 Protobuf_netLUT.Regist(typeof(Login).Assembly); // Protobuf_netLUT.Regist(typeof(Login).Assembly); //建立主线程 或指定的任何线程 轮询。(确保在unity中使用主线程轮询) //ThreadScheduler保证网络底层的各种回调函数切换到主线程执行以保证执行顺序。 ThreadPool.QueueUserWorkItem((A) => { while (true) { MessageThreadTransducer.Update(0); Thread.Yield(); } }); ConnectAsync(); while (true) { var line = Console.ReadLine(); if (string.IsNullOrWhiteSpace(line)) { break; } remote.SendAsync(line); } Console.ReadLine(); }