У меня есть клиент-серверный проект. У меня проблема с отправкой данных с сервера клиентам.
private bool SendPack(object client, string data)
{
lock (this)
{
try
{
NetworkStream clientStream = tcpServer.GetStream();
byte[] Pack= ClsEncryption.GetEncrypt(data);
clientStream.Write(Pack, 0, Pack.Length);
clientStream.Flush();
return true;
}
catch
{
return false;
}
}
}
хотя я использую блокировку, когда запускается команда записи, все разрушается. Я имею в виду ничего не отправлять и запись не возвращается (как блокировка). я должен использовать асинхронные методы, используя beginwrite или нет? Как я могу проверить, готов ли сетевой поток к записи и не будет ли блокироваться. Я использую clienttream.canwrite, но это было бесполезно.
Мне нужен самый быстрый и надежный способ отправки данных.
Любая идея?