public string SendRepresentation(ref RandomMover rm) { string representation = GetRepresentation(rm); RandomMover rmTemp; String response; if ((response = cci.SendData(representation)) == null) { throw new Exception("No response from server!"); } Console.Out.WriteLine(response); using (MemoryStream ms = new MemoryStream(System.Text.UTF8Encoding.UTF8.GetBytes(response))) { try { object obj = dcjs.ReadObject(ms); rmTemp = (RandomMover)obj; } catch (System.Runtime.Serialization.SerializationException serEx) //not a valid json representation of RandomMover { throw serEx; } } rm.id = rmTemp.id; rm.pos = rmTemp.pos; return(rm.ToString()); }
public string GetRepresentation(RandomMover rm) { string rez = ""; using (System.IO.MemoryStream sw = new System.IO.MemoryStream()) { dcjs.WriteObject(sw, rm); rez = System.Text.UTF8Encoding.UTF8.GetString(sw.ToArray()); } return(rez); }
public static void Main(string[] args) { string server = SERVER; int port = PORT; RandomMover rm = new RandomMover(); Point p = new Point(); rm.id = 0; p.x = 99; p.y = 99; rm.pos = p; rm.MoveOnePos(2); CommunicatorJSON cJson = new CommunicatorJSON(); if (args.Length > 1) { if (IsInteger(args [1])) //we have only the port specified { port = System.Convert.ToUInt16(args [1]); } else { server = args [1]; } if (args.Length > 2) { if (!IsInteger(args[2])) { Console.WriteLine("Use me like this: %s [server] [port]", args[0]); } } } string httpLoc = "http://" + server + ":" + port; cJson.SetServer(httpLoc); try { Console.WriteLine(cJson.SendRepresentation(ref rm)); } catch (Exception ex) { Console.Out.WriteLine("[ERROR] - {0}", ex.Message); } for (int i = 0; i < 500; i++) { System.Threading.Thread.Sleep(500); rm.MoveOnePos(rm.RandomizeThree()); //Console.WriteLine (rm.ToString ()); try { Console.WriteLine(cJson.SendRepresentation(ref rm)); } catch (Exception ex) { Console.Out.WriteLine("[ERROR] - {0}", ex.Message); } } }