Difference between revisions of "Programmering III December"

From Teknologisk videncenter
Jump to: navigation, search
(Tirsdag)
Line 74: Line 74:
  
  
=Tirsdag=
+
=Onsdag=
 
'''Object to XML and Back'''
 
'''Object to XML and Back'''
  

Revision as of 10:36, 14 December 2016

Netværks programmer

Opgaver:


Opgave1:

Lav et program, der kan lytte efter en besked.


Opgave2:

Lav et chat program, hvor en server og klient kan sende og modtage beskeder til og fra hinanden.


UDP listener:

Server:

UdpClient client = new UdpClient(11000);
            IPEndPoint endpoint = new IPEndPoint(IPAddress.Any, 11000);

            byte[] recivedBytes = client.Receive(ref endpoint);
            Console.WriteLine("The message was:");
            string result = Encoding.ASCII.GetString(recivedBytes);
            Console.WriteLine(result);

            Console.ReadKey();


UDP client:

Server:

            UdpClient client = new UdpClient();
            IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 11000);
            byte[] myBytes = Encoding.ASCII.GetBytes("Hello!");
            client.Send(myBytes, myBytes.Length, endPoint);

            Console.WriteLine("Message has been sent!");
            Console.ReadKey();


Threading

Server:

        static void Main(string[] args)
        {
            Console.WriteLine("Start");

            Thread thread = new Thread(myThread);
            thread.Start();

            string input = Console.ReadLine();
            Console.WriteLine(input);
            Console.ReadKey();
        }

        static void myThread()
        {
            for (int i = 0; i < 10; i++)
            {
                Console.WriteLine(i);
            }
        }


Onsdag

Object to XML and Back

Opgave 1:

Lav et program der kan konvertere et objekt til XML, og sende det igennem UDP. Når UDP pakkerne når frem, skal de deserialiseres tilbage til et objekt igen.


Program:

            Human joshua = new Human();
            XmlSerializer serializer = new XmlSerializer(typeof(Human));
            StringWriter sWriter = new StringWriter();

            serializer.Serialize(sWriter, joshua);

            string myXML = sWriter.ToString();
            Console.WriteLine(myXML);

            Console.ReadKey();

            StringReader sReader = new StringReader(myXML);

            Human mads = (Human)serializer.Deserialize(sReader);

            Console.WriteLine("This is the player Mads:");
            Console.WriteLine(mads.money);
            Console.WriteLine(mads.upgrades);
            Console.ReadKey();


Human:

public class Human
    {
        private float myWeight;

        public float MyWeight
        {
            get {
                Console.WriteLine("Half-Life 3.. Worth the weight!");
                return myWeight;
            }
            set { myWeight = value; }
        }


        public string name = "Joshua";
        public float money = 2000.0f;
        public int upgrades = 0;
    }

Link til Simon: http://stackoverflow.com/questions/4996876/generic-deserialization-of-an-xml-string