У меня TCP / IP-соединение между сервером и клиентом. Как только соединение установлено, сервер начнет отправлять много данных клиенту. Проблема в том, что если соединение медленное, в какой-то момент сервер перестает отвечать на запросы. Я предполагаю, что это потому, что он буферизует данные, ожидая подтверждения данных, которые уже были отправлены.
Есть ли способ перед отправкой данных проверить размер текущего буфера, поэтому я знаю, что мне следует подождать, прежде чем продолжить отправку данных?
Спасибо.
Это то, что я делаю для отправки данных:
System.Net.Sockets.Socket ClientSocket;
...
public void Send(byte[] data, int size)
{
try
{
SocketAsyncEventArgs e = new SocketAsyncEventArgs();
e.SetBuffer(data, 0, size);
bool pending = ClientSocket.SendAsync(e);
}
catch (Exception ex)
{
}
}