public bool Run(params object[] args) { var historyBuffer = (HistoryOperations)args[2]; Socket socket = (Socket)args[3]; ServerIO _ServerIO = new ServerIO(socket); _ServerIO.WriteLine("Input file name:"); string fileName = _ServerIO.ReadString(); string sPattern = @"^(([a-zA-Z]:|\\)\\)?(((\.)|(\.\.)|([^\\/:\*\?""\|<>\. ](([^\\/:\*\?""\|<>\. ])|([^\\/:\*\?""\|<>]*[^\\/:\*\?""\|<>\. ]))?))\\)*[^\\/:\*\?""\|<>\. ](([^\\/:\*\?""\|<>\. ])|([^\\/:\*\?""\|<>]*[^\\/:\*\?""\|<>\. ]))?$"; if (Regex.IsMatch(fileName, sPattern) && fileName.Length < 255) { using (StreamWriter sw = new StreamWriter(fileName + ".txt")) { for (int i = 0; i < historyBuffer.OperationData.Count; i++) { sw.WriteLine(historyBuffer.OperationData[i]); } } _ServerIO.WriteLine("Ready!"); } else { _ServerIO.WriteLine("Uncorrect filename"); } return(true); }
public ClientHandler(TcpClient client, int id, GameHandler game) { Client = client; _game = game; FugamId = new FugamID(Client.GetHashCode(), id); _clientThread = new Thread(new ThreadStart(ClientThread)); ServerIO.Send(Client.GetStream(), new PacketFugamID(FugamId)); }
private void ClientThread() { while (Client.Connected) { //Console.WriteLine(FugamId + "\twaiting for packet\t" + DateTime.Now); ServerIO.Recieve(Client.GetStream()).HandleServerSide(_game); //Console.WriteLine(FugamId + "\tpacket received\t" + DateTime.Now); } }
public void ReceivePacketPlayerPosition(PacketPlayerPosition ppp) { //Console.WriteLine("Packet received: "+ppp.FugamId.GameID); foreach (ClientHandler client in _clients) { if (!client.FugamId.Equals(ppp.FugamId)) { //Console.WriteLine("Send packet to: " + client.FugamId.GameID); ServerIO.Send(client.Client.GetStream(), ppp); } } }
//game logic private void Game() { foreach (ClientHandler client in _clients) { ServerIO.Send(client.Client.GetStream(), new PacketLevel(client.FugamId, "Level_ID1")); client.StartClientThread(); } List <FugamID> playerids = _clients.Select(client => client.FugamId).ToList(); foreach (ClientHandler client in _clients) { ServerIO.Send(client.Client.GetStream(), new PacketPlayers(client.FugamId, playerids)); } }
public void LoadPrices() { if (this.amount > 0) { List <DateTime> dates = new List <DateTime> { DateTime.Now.AddDays(-this.amount), DateTime.Now }; this.Data = ServerIO.GetPrices(dates); var last = this.Data[this.Data.Count - 1]; this.TextBoxText = String.Format("Курс на {0} - {1}", last.Date.ToShortDateString(), last.Price); } if (this.RefreshBool) { this.ScheduleLoad(); } }
public override void update() { if (player != null) { ServerIO.Send(gsm.Client.GetStream(), new PacketPlayerPosition(gsm.FugamId, player.x, player.y)); } //if (gsm.FugamId != null) //{ // Console.WriteLine(gsm.FugamId + "\twaiting for packet\t"+DateTime.Now); //} ServerIO.Recieve(gsm.Client.GetStream()).HandleClientSide(this); if (_otherPlayers != null && player != null) { _level.CheckTriggers(player, _otherPlayers); foreach (Player otherplayer in _otherPlayers) { otherplayer.Update(); } player.Update(); } //Console.WriteLine(gsm.FugamId + "\tpacket received\t" + DateTime.Now); }
public InOutStream(Socket socket) { _socket = socket; _ServerIO = new ServerIO(_socket); }
public string Connect(string host, int port, FileType ftype) { lock (this) { string image; io = new ServerIO(); lock (io) { if (io.Connect(host, port) && (image = io.ReadLine()) != null) { if (image.Substring(0, 1) == "-") { Disconnect(); return(image.Substring(5)); } else { string[] s = image.Substring(5).Split(); pid = s[0]; pincode = s[1]; } } else { return("Connection to the primary server failed.\r\n\r\nHost " + host + "\r\nPort " + port.ToString()); } io.WriteLine("VERSION 0.3"); image = io.ReadLine(); if (image.Substring(0, 1) == "+") { server_version = image.Substring(5); io.WriteLine("HOST"); image = io.ReadLine(); if (image.Substring(0, 1) == "+") { je.WriteToLog("connected to " + image.Substring(5)); je.SubItems[(int)Display.where].Text = image.Substring(5); } // else ignore the error je.WriteToLog("server version " + server_version); } else { Disconnect(); return(image.Substring(5)); } io.WriteLine(string.Format("CLIENT {0} {1}", Application.ProductName, Houston.HoustonVersion.ToString())); image = io.ReadLine(); io.WriteLine("USER " + Environment.UserName); image = io.ReadLine(); if (!SupportedFileType(ftype)) { Disconnect(); return("The required program is not installed on this server"); } } io2 = new ServerIO(); if (io2.Connect(host, port) && (image = io2.ReadLine()) != null) { if (image.Substring(0, 1) == "-") { Disconnect(); return(image.Substring(5)); } //else ignore pid/pin } else { return("Connection to secondary server failed.\r\n\r\nHost " + host + "\r\nPort " + port.ToString()); } io2.WriteLine("VERSION -0.3"); image = io2.ReadLine(); if (image.Substring(0, 1) == "+") { } else { Disconnect(); return(image.Substring(5)); } io2.WriteLine("PID " + pid); io2.ReadLine(); io2.WriteLine("PIN " + pincode); io2.ReadLine(); return(null); } }
public bool Run(params object[] args) { string NextLine; double result = 0; double lastValue = 0; int numberLine = 0; string outInfo; char operationType; var mathBuffer = (ValuesBuffer)args[0]; var historyBuffer = (HistoryOperations)args[2]; Socket socket = (Socket)args[3]; ServerIO _ServerIO = new ServerIO(socket); mathBuffer.variables.Clear(); mathBuffer.TopValue = 0; _ServerIO.WriteLine("Enter file name without extension:"); string pathFile = Directory.GetCurrentDirectory() + "\\" + _ServerIO.ReadString() + ".txt"; if (!File.Exists(pathFile)) { _ServerIO.WriteLine("Such file does not exist"); return(true); } using (var file = new StreamReader(pathFile)) { while ((NextLine = file.ReadLine()) != null) { numberLine++; string[] ParseLine = NextLine.Split(' '); switch (ParseLine.Length) { case 1: outInfo = ParseLine[0]; if (Double.TryParse(outInfo, out result)) { _ServerIO.WriteLine($"[#{numberLine}] - {result}"); mathBuffer.HideSaveValue(result); } else { result = ConvertToInteger(outInfo); _ServerIO.WriteLine($"[#{numberLine}] - {outInfo} = {result}"); mathBuffer.HideSaveValue(result); } break; case 3: outInfo = ParseLine[0]; operationType = Convert.ToChar(ParseLine[1]); result = Convert.ToDouble(ParseLine[2]); lastValue = SearchLastValue(operationType, mathBuffer.ReturnTopValue(), result); _ServerIO.WriteLine($"[#{numberLine}] - {outInfo} {operationType} {lastValue} = " + $"{mathBuffer.ReturnTopValue()} {operationType} {lastValue} = {result}"); mathBuffer.HideSaveValue(result); break; default: _ServerIO.Write("Parse error!\n"); break; } } } return(true); }
private void ClientConnect() { string image; IPAddress rwhodip = getrwhodserver(); if (rwhodip == IPAddress.None) { return; } SetStatusBarText("Connecting to server..."); io = new ServerIO(); try { if (io.Connect(rwhodip.ToString(), 7040)) { SetStatusBarText("Connected to the server."); if ((image = io.ReadLine()) != null) { if (image.Substring(0, 1) == "+") { io.WriteLine("MODE ruptime"); image = io.ReadLine(); if (image.Substring(0, 1) == "+") { connected = true; timer.Change(500, 0); } else { SetStatusBarText("The server doesnot support this feature."); io.WriteLine("QUIT"); io.ReadLine(); //Eat the OK io.Disconnect(); } } else { SetStatusBarText("Bad response from server: " + image.Substring(5)); io.WriteLine("QUIT"); io.ReadLine(); //Eat the OK io.Disconnect(); } } else { SetStatusBarText("Bad response from server."); io.Disconnect(); Thread.Sleep(1000); SetStatusBarText("Disconnected."); } } else { SetStatusBarText("No response from server: host not found"); } } catch (Exception e) { SetStatusBarText("No response from server: " + e.Message); } }