[ 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(); } } |