[ Misfits @ 26.09.2004. 21:25 ] @
Zasto nece da deserializuje??????????


Code:

public void start_client()
        {
            //logBox.Text+="Konektujem se na server\r\n";
            //Loop Flag
            bool continueLoop =true;
            poruka = "";
            while(continueLoop)
            {
                //Salje DataGram
                System.Text.ASCIIEncoding encode = new System.Text.ASCIIEncoding();
                string sendString= adrKlijent.ToString() + "@"+portKlijent.ToString()+"@Zahtev za trenutnim datumom i vremenom";
                byte[] sendData =encode.GetBytes(sendString);
                poruka +="Zahtev za trenutnim datumom i vremenom...\r\n";
                //Salje Server-u 
                client.Send(sendData,sendData.Length,adrServer.ToString(),portServer);

                //Prima DataGram od Server-a
                BinaryFormatter formatter1 = new BinaryFormatter();
                Stream s1 = new MemoryStream();
                byte[] recData = client.Receive(ref receivePoint);
                s1.Write(recData,0,recData.Length-1);
                for (int i = 0; i < recData.Length; i++){
                  System.Console.Out.WriteLine(recData[i]);
                }                                                      
                
                s1.Position = 0;
                object obj =  formatter1.UnsafeDeserialize(s1,null);
                TimeResponse datumIvreme = (TimeResponse)obj;
                //Stream serializationStream = client.Receive(ref receivePoint).;
                            
                //poruka +="DateTime :"+encode.GetString(recData)+"\r\n";
                poruka += "DateTime :"+datumIvreme.DateTimeToStr()+"\r\n";
                //Zatvara se konekcija
                client.Close();
                if (konzola)
                {
                    System.Console.Out.WriteLine(poruka);

                } 
                else 
                {
                  myBox.Text += poruka;
                }
                //End Loop
                continueLoop=false;                
            }

server

public void start_server()
        {
            logBox.Text+="Server pokrenut \r\n";
            //Infinite loop
            while(true)
            {
                //Prima DataGram
                byte[] recData = server.Receive(ref receivePoint);
                logBox.Text+="Paket primljen!!\r\n";
                System.Text.ASCIIEncoding encode = new System.Text.ASCIIEncoding();
                //Deli
                string[] temp = encode.GetString(recData).Split(new Char[] {'@'});
                   logBox.Text+="Od :"+temp[0];
                logBox.Text+="\r\nPort :"+temp[1];
                logBox.Text+="\r\nSadrzi :"+temp[2];
                
                //Salje nazad DataGram
                BinaryFormatter formatter = new BinaryFormatter();
                Stream s = new MemoryStream();
                TimeResponse dt = new TimeResponse(System.DateTime.Now);
                formatter.Serialize(s,dt);    
                int br = Convert.ToInt32(s.Length);
                s.Position = 0;
                byte[] sendData= new byte[br];
                System.Console.Out.WriteLine();
                s.Read(sendData,0,br);
                logBox.Text+="\r\nSaljem trenutni datum i vreme...\r\n";
                //Koristi IP i Port poslat od korisnika da vrati DataGram 
                server.Send(sendData,sendData.Length,temp[0],Int32.Parse(temp[1]));
            }

Time response

[Serializable]
    public class TimeResponse
    {
        private DateTime datumIvreme; 
        public TimeResponse(DateTime dv)
        {
            datumIvreme = dv;    
        }
        public string DateTimeToStr()
        {
            return datumIvreme.ToShortDateString() + " " + datumIvreme.ToShortTimeString();
        }
    }
[ Java Beograd @ 15.10.2004. 07:59 ] @
Pa ne mozes ovako covece ! Napisao si dve strane koda ?! Pa ne ocekujes valjda da se neko udubljuje da provali sta si 'teo ?
Izvuci srz, napisi samo par linija koje su ti bitne za problem, koje ne rade a trebale bi da rade !
[ kernel82 @ 15.10.2004. 23:35 ] @
Problem je u tome sto kada se objekat serializuje (u memorijski tok) pa se onda prebaci u niz bajtova i tako posalje preko udp-a, kada ga procitam na klijentu javlja gresku. Kada pokusam da ga deserializujem na serveru znaci isto ga pretvorim u niz bajtova ali te bajtove ne saljem kroz mrezu onda ga lepo deserializuje!!!!