public bool SendToAllUsers(ServerGame.Core.Connctions.PackSendData PackSendData, Interface.Connctions.ConnctionType ConnctionType, bool sendtoself, IUser userSender) { try { byte pramterhi = 0; foreach (var data in PackSendData.AllData) { if (pramterhi < data.PramterName) { pramterhi = data.PramterName; } } PackSendData.AllData.Add(new Data.Data(userSender.Name, ++pramterhi)); if (ServerGame.Interface.Connctions.ConnctionType.UDP == ConnctionType) { foreach (var user in this.UserInRoom) { if (user.ConnctionUDP.IPEndPointUDP != null) { if (userSender != user || sendtoself) { // PackSendData.AllData.Find(x => x.PramterName == pramterhi).DataSChange(userSender.Name); Connctions.Server.ServerOject.Sendudp(user.ConnctionUDP.workSocket, PackSendData, user.ConnctionUDP.IPEndPointUDP); } } } } else if (ServerGame.Interface.Connctions.ConnctionType.TCP == ConnctionType) { foreach (var user in this.UserInRoom) { if (!user.ConnctionTCP.workSocket.Poll(1000, System.Net.Sockets.SelectMode.SelectRead) || !(user.ConnctionTCP.workSocket.Available == 0)) { if (userSender != user || sendtoself) { // PackSendData.AllData.Find(x => x.PramterName == pramterhi).DataSChange(userSender.Name); Connctions.Server.ServerOject.Send(user.ConnctionTCP.workSocket, PackSendData); } } } } return(true); } catch (Exception e) { Console.WriteLine(e.ToString()); return(false); } }
public static void Parser(PackSendData packSendData, ref ServerGame.Core.Connctions.AbstractServer.StateObject DataUser, Interface.Connctions.ConnctionType ConnctionType) { StoredEvent.Find(Event => string.Equals(Event.NameEvent, packSendData.NameOFEvent)) .OnRunEvent ( packSendData , ref DataUser, ConnctionType ); }
public static void BradCastToAllOfData(IRoom roomX, Core.Connctions.PackSendData PackSendData, bool sendtoself, IUser userSender, Interface.Connctions.ConnctionType ConnctionType) { roomX.SendToAllUsers(PackSendData, ConnctionType, sendtoself, userSender); }