Detektering af afslutning på xml document igennem socket
Jeg har et dataset som jeg gerne vil sende fra en pc til en anden gennem en TCP socket. Dette kan jeg også gøre med nedenstående kode, hvor afsenderen lukker forbindelse med "close()" når xml dokumentet er sendt. Jeg imidlertid ikke at lukke forbindelsen men bevare denne. Hvis jeg undlader at lukke den, bliver modtageren imidlertid ved med at lytte og bliver hængende i "ReadXml". Hvordan "ReadXML" på modtagersiden ud af at hele xml documentet er kommet frem? Og skal afsenderen eventuelt fortælle dette?Afsender:
server = new TcpListener(System.Net.IPAddress.Parse("192.168.36.102"), 5454);
server.Start();
client = server.AcceptTcpClient();
reader = new StreamReader(client.GetStream());
writer = new StreamWriter(client.GetStream());
(new Thread(new ThreadStart(Reader))).Start();
rdt.WriteXml(writer);
writer.Flush();
writer.Close();
Modtager:
DataSet1.MyTable rdt = new DataSet1.MyTable();
rdt.ReadXml(reader);
