Отправлять несколько сообщений с сервера TCP на клиент (C sharp для Android)

Я разрабатываю приложение, в котором острый сервер взаимодействует с клиентом android. Серверу необходимо отправить несколько сообщений на Android tcpClient. Что касается отправки сообщения, я должен закрыть объект tcpClient на сервере. В противном случае он не отправляет. Как только tcpClient закрывается, как я могу снова связаться с моим клиентом, как я могу отслеживать и отправлять несколько сообщений, как только я закрываю tcpClient, или есть другой способ отправки, не закрывая его. Если вопрос остается неясным, прокомментируйте ниже

Он отправляет одно сообщение easlity, но мне нужно отправлять больше сообщений время от времени

Вот фрагмент кода для сервера

//in a thread void receivingMessages(object param) { try { var paramArray = (object[])param; var id = paramArray[0]; var client = paramArray[1] as TcpClient; var stream = client.GetStream(); while (true) { byte[] buffer = new byte[2048]; int bytesRead = stream.Read(buffer, 0, 2048); if (bytesRead > 0) { StringBuilder sb = new StringBuilder(); string v = Encoding.ASCII.GetString(buffer); int index = v.IndexOf('\0'); string trimmedXml = v.TrimEnd(new char[] { '\0' }); var root = XDocument.Parse(trimmedXml).Root; //to get the type of xml like it is login register or message string xmlType = root.Name.ToString(); //some checks string result = " server messages"; SendMessage(client, result); } //Thread.Sleep(10); } } catch (Exception) { } } public void SendMessage(TcpClient client, string message) { byte[] buffer = Encoding.ASCII.GetBytes(message); NetworkStream stream = client.GetStream(); stream.Write(buffer, 0, buffer.Length); client.Close(); } } } 

Попробуй это:

 public void SendMessage(TcpClient client, string message) { //byte[] buffer = Encoding.ASCII.GetBytes(message); NetworkStream stream = client.GetStream(); StreamWriter writer = new StreamWriter(stream); writer.WriteLine(message); writer.Flush(); }