У меня есть этот код для отправки String
сообщений на сервер.Предполагается, что эти сообщения отправляются отдельно, но Stream
из TcpClient
отправляет сообщения в одном баге после закрытия Stream
.
Что можно сделать, чтобы отправить отдельные сообщения с помощьюэтот код:
public void sendData()
{
const int PORT_NO = 12900;
const string SERVER_IP = "127.0.0.1";
TcpClient client = new TcpClient(SERVER_IP, PORT_NO);
try
{
client.NoDelay = true;
NetworkStream nwStream = client.GetStream();
sendText(nwStream, "Text-1"); // Here is it supposed to send "Text-1"
sendText(nwStream, "Text-2");
sendText(nwStream, "Text-3");
}
finally
{
client.Close(); // But, all messages are sent here!
}
}
private void sendText(NetworkStream nwStream, String text)
{
byte[] bytesToSend = ASCIIEncoding.ASCII.GetBytes(text);
nwStream.Write(bytesToSend, 0, bytesToSend.Length);
nwStream.Flush();
}
С этим кодом Сервер в итоге получает: Text-1Text-2Text-3
в одном сообщении, и он должен получить 3 разных сообщения.Что здесь не так?