private void MyStream_OnInfo(EasyTCP.EasyTCP Sender, ushort Code, object Value) { string Message; switch (Code) { case 0: SendMessage(Sender, (Dic[Sender] = Value.ToString()) + " joined"); return; case 2: Message = string.Join(" ", Value as IEnumerable <int>); break; case 1: case 3: case 4: Message = Value.ToString(); break; case 5: case 6: Do4All(TCP => TCP.Send(Code, Value), Sender); return; default: return; } SendMessage(Sender, string.Format("{0}> {1}", Dic[Sender], Message)); }
private void Do4All(Action <EasyTCP.EasyTCP> Act, EasyTCP.EasyTCP Exclude = null) { foreach (var MS in Dic.Keys) { if (MS != Exclude) { Act(MS); } } }
private void MyStream_OnClosed(EasyTCP.EasyTCP S) { SendMessage(S, Dic[S] + " left"); Dic.TryRemove(S, out _); }
private void SendMessage(EasyTCP.EasyTCP Exclude, string Msg) { Do4All(MS => MS.Send(1, Msg), Exclude); Invoke(() => TB.Inlines.Add(Msg + Environment.NewLine)); }