Здравствуйте.
Вопрос такой: можно ли один сокет использовать в первом потоке для чтения, а во втором для записи, причём одновременно? Т.е. что-то такое:
// Первый поток
...
while (есть_данные)
{
.... //формируем buff & len
send(socket, buff, len, 0);
WaitForSingleObject(пришли_необходимые_подтверждения);
}
....
// Второй поток
...
while (не_все_подтверждения)
{
recv(socket, buff, len, 0);
if (неподтверждёнными осталось меньше десяти пакетов)
{
SetEvent(пришли_необходимые_подтверждения);
}
}
....
Плодить сокеты не хочется.