protected virtual async Task ReadResultAsync(IFiberRw fiberRw) { var id = await fiberRw.ReadInt64(); if (await fiberRw.ReadBoolean()) //is error { AsyncBackResult(new Result() { Id = id, ErrorId = await fiberRw.ReadInt32(), ErrorMsg = await fiberRw.ReadString() }); } else { var count = await fiberRw.ReadInt32(); List <byte[]> args = new List <byte[]>(count); for (int i = 0; i < count; i++) { args.Add(await fiberRw.ReadArray()); } AsyncBackResult(new Result(args) { Id = id }); } }
static async ValueTask DataOnByLine(IFiberRw fiberRw) { var len = await fiberRw.ReadInt32(); var cmd = await fiberRw.ReadInt32(); var p1 = await fiberRw.ReadInt32(); var p2 = await fiberRw.ReadInt64(); var p3 = await fiberRw.ReadDouble(); var p4 = await fiberRw.ReadSingle(); var p5 = await fiberRw.ReadBoolean(); var p6 = await fiberRw.ReadBoolean(); var p7 = await fiberRw.ReadString(); using (var p8 = await fiberRw.ReadMemory()) { var p9 = await fiberRw.ReadInt16(); var p10 = await fiberRw.ReadObject <List <Guid> >(); //fiberRw.Write(len); //fiberRw.Write(cmd); //fiberRw.Write(p1); //fiberRw.Write(p2); //fiberRw.Write(p3); //fiberRw.Write(p4); //fiberRw.Write(p5); //fiberRw.Write(p6); //fiberRw.Write(p7); //fiberRw.Write(p8); //fiberRw.Write(p9); //// fiberRw.Write(p10); //await fiberRw.Flush(); } }
static async Task ReadCommand(IFiberRw fiberRw) { var cmd = await fiberRw.ReadInt32(); switch (cmd) { case 1001: { var isSuccess = await fiberRw.ReadBoolean(); Console.WriteLine(await fiberRw.ReadString()); if (isSuccess) { Data data = new Data() { Id = Guid.NewGuid(), Time = DateTime.Now }; await await fiberRw.Sync.Ask(() => { fiberRw.Write(2000); //发送数据 fiberRw.Write(data); fiberRw.Write(3000); //发送消息 fiberRw.Write("EMMMMMMMMMMMMMMMMMMMMM..."); return(fiberRw.Flush()); }); } } break; case 3001: { using (var data = await fiberRw.ReadMemory()) { Console.WriteLine(data.Value.Length); await await fiberRw.Sync.Ask(() => { fiberRw.Write(3000); fiberRw.Write("EMMMMMMMMMMMMMMMMMMMMM"); return(fiberRw.Flush()); }); } } break; } }
static async Task ReadCommand(IFiberRw fiberRw) { var cmd = await fiberRw.ReadInt32(); switch (cmd) { case 1001: { var isSuccess = await fiberRw.ReadBoolean(); Console.WriteLine(await fiberRw.ReadString()); if (isSuccess) { TestLib.Data data = new TestLib.Data() { Id = Guid.NewGuid(), Time = DateTime.Now }; fiberRw.Write(2000); //发送数据 fiberRw.Write(data); await fiberRw.Flush(); fiberRw.Write(3000); //发送消息 fiberRw.Write("EMMMMMMMMMMMMMMMMMMMMM..."); await fiberRw.Flush(); } } break; case 3001: { Console.WriteLine(await fiberRw.ReadString()); } break; } }
async Task ReadCommand(IFiberRw fiberRw) { var cmd = await fiberRw.ReadInt32(); switch (cmd) { case 1001: { var isSuccess = await fiberRw.ReadBoolean(); if (isSuccess) { await fiberRw.ReadString(); await await fiberRw.Sync.Ask(() => { fiberRw.Write(2000); return(fiberRw.Flush()); }); } else { string msg = await fiberRw.ReadString(); this.BeginInvoke(new EventHandler((a, b) => { MessageBox.Show(msg); LogOn(); })); } } break; case 2001: { var list = await fiberRw.ReadObject <List <string> >(); this.BeginInvoke(new EventHandler((a, b) => { this.listView1.Items.Clear(); this.comboBox1.Items.Clear(); foreach (var item in list) { this.listView1.Items.Add(new ListViewItem(item)); } this.comboBox1.Items.Add("ALL"); this.comboBox1.Items.AddRange(list.ToArray()); })); } break; case 2002: //通知新用户登入 { var user = await fiberRw.ReadString(); this.BeginInvoke(new EventHandler((a, b) => { this.listView1.Items.Add(user, user, 0); this.comboBox1.Items.Add(user); })); } break; case 3001: { string username = await fiberRw.ReadString(); string msg = await fiberRw.ReadString(); this.BeginInvoke(new EventHandler((a, b) => { this.richTextBox1.AppendText($"{username}:{msg}\r\n"); })); } break; case 3002: { string username = await fiberRw.ReadString(); string msg = await fiberRw.ReadString(); this.BeginInvoke(new EventHandler((a, b) => { this.richTextBox1.AppendText($"{username}>>{msg}\r\n"); })); } break; case 4000: { string username = await fiberRw.ReadString(); this.BeginInvoke(new EventHandler((a, b) => { this.listView1.Items.RemoveByKey(username); this.comboBox1.Items.Remove(username); })); } break; } }