Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 2.921 pregleda

Najnovija ↓

Serializacija u C# Pomoc hitno!!!!!!! 26.09.2004. u 22:25 · pre 268 meseci #1
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();
        }
    }
Re: Serializacija u C# Pomoc hitno!!!!!!! 15.10.2004. u 08:59 · pre 268 meseci #2
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 !
Potpis
OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
Re: Serializacija u C# Pomoc hitno!!!!!!! 16.10.2004. u 00:35 · pre 268 meseci #3
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!!!!

Potpis
Walk on, walk on
with hope in your hearts
And you'll never walk alone
You'll never walk alone.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme