public bool Send(int serverID, int moduleID, NetworkCode.ASteambotCode netcode, string data) { GameServer gs = GetServerByID(serverID); if (gs == null) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Could NOT send mesage to server; server has no valid ID. Restart ASteambot_Core on the problematic server."); Console.ForegroundColor = ConsoleColor.White; return(false); } if (!gs.Send(moduleID, netcode, data)) { foreach (Bot bot in OnlineBots) { foreach (GameServer g in bot.Manager.Servers) { if (g.Alive == false || g.SocketConnected() == false) { bot.SteamchatHandler.ServerRemoved(gs.ServerID); } } //bot.Manager.Servers.RemoveAll(gs => gs.Alive == false); } } return(true); }
public bool Send(int moduleID, NetworkCode.ASteambotCode netcode, string data) { string finaldata = tcppasswd + moduleID + ")" + ((int)netcode).ToString() + "|" + data + "<EOF>"; int size = Encoding.ASCII.GetByteCount(finaldata); if (size > NetworkCode.MAX_CHUNK_SIZE) { List <string> chunks = ChunksUpto(finaldata, NetworkCode.MAX_CHUNK_SIZE).ToList(); foreach (string chunk in chunks) { dataQueue.Add(Encoding.UTF8.GetBytes(chunk)); } } else { dataQueue.Add(Encoding.UTF8.GetBytes(finaldata)); } /*try * { * byte[] byteData = Encoding.UTF8.GetBytes(finaldata); * if(byteData.Length > 900) * { * for(int i = 0; i < byteData.Length; i+=900) * { * if (i > byteData.Length) * i = byteData.Length; * * ArrayView<byte> p1 = new ArrayView<byte>(byteData, i, i+900); * byte[] bytes = p1.ToArray(); * dataQueue.Add(bytes); * socket.BeginSend(bytes, 0, bytes.Length, 0, new AsyncCallback(SendCallback), socket); * } * } * else * { * dataQueue.Add(byteData); * socket.BeginSend(byteData, 0, byteData.Length, 0, new AsyncCallback(SendCallback), socket); * } * } * catch (Exception e) * { * /*Console.ForegroundColor = ConsoleColor.Red; * Console.WriteLine(e); * Console.ForegroundColor = ConsoleColor.White; * PrintSocketError(data);/// * Alive = false; * return false; * }*/ return(true); }
public bool Send(int serverID, int moduleID, NetworkCode.ASteambotCode netcode, string data) { bool sendSuccess = false; do { GameServer gs = GetServerByID(serverID); if (gs == null) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Could NOT send mesage to server; server has no valid ID. Restart ASteambot_Core on the problematic server."); Console.ForegroundColor = ConsoleColor.White; return(false); } Thread.Sleep(100); Console.WriteLine("Sending to " + gs.Name + "(" + gs.IP + ":" + gs.Port + ")"); sendSuccess = gs.Send(moduleID, netcode, data); if (!sendSuccess) { Console.WriteLine("Send data failed. Re-trying."); foreach (Bot bot in OnlineBots) { foreach (GameServer g in bot.Manager.Servers) { if (g.Alive == false || g.SocketConnected() == false) { bot.SteamchatHandler.ServerRemoved(gs.ServerID); } } //bot.Manager.Servers.RemoveAll(gs => gs.Alive == false); } } } while (sendSuccess == false); /*if(gs == null) * { * Console.ForegroundColor = ConsoleColor.Red; * Console.WriteLine("Could NOT send mesage to server; server has no valid ID. Restart ASteambot_Core on the problematic server."); * Console.ForegroundColor = ConsoleColor.White; * * return false; * } * * gs.Send(moduleID, netcode, data);*/ return(true); }
public bool Send(int serverID, int moduleID, NetworkCode.ASteambotCode netcode, string data) { GameServer gs = GetServerByID(serverID); if (!gs.Send(moduleID, netcode, data)) { foreach (Bot bot in OnlineBots) { foreach (GameServer g in bot.Manager.Servers) { if (g.Alive == false || g.SocketConnected() == false) { bot.SteamchatHandler.ServerRemoved(gs.ServerID); } } //bot.Manager.Servers.RemoveAll(gs => gs.Alive == false); } } return(true); }