Exemple #1
0
        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());
        }
Exemple #2
0
        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);
                }
            }
        }