private void SendFlieToCLients(ClientModel.ClientPacketRecievedArgs messageRecieved) { for (int Index = 0; Index < ClientList.Count; Index++) { try { ClientList[Index].ClientSocket.Client.Send(Helper.ForePlay(messageRecieved.thePacket)); } catch (Exception exx) { Console.WriteLine(ClientList[Index].ClientIp + "Client Disconnected."); RemoveClient(ClientList[Index]); continue; } } }
private void Client_MessageRecieved(object Sendr, ClientModel.ClientPacketRecievedArgs MessageRecieved) { App.Current.Dispatcher.Invoke(() => { // tbxConsole.Text += "接收到:" + MessageRecieved.thePacket.SenderName + "发送的" + MessageRecieved.thePacket.Message + "\r\n\r\n"; }); switch (MessageRecieved.thePacket._PacketType) { case PacketType.Chat: SendMessageToCLients(MessageRecieved.thePacket); break; case PacketType.File: SendFlieToCLients(MessageRecieved); break; case PacketType.CloseConnection: SendMessageToCLients(new Packet(PacketType.Chat, "", "Server", "下线了。")); RemoveClient(Sendr as ClientModel); break; } }