Доброго времени!
Перестали работать сокеты.
Клиент: синхронный, неблокирующий.
Листен: асинхронный.
Работа:
1.
- Клиент посылает команду 1 (байт 40).
- Листен принимает и обрабатывает.
2.
- Листен посылает команду 2 (байт 80).
- Клиент посылает команду 1,
- Клиент принимает и выполняет команду 2.
- Клиент посылает ответ на команду 2 (байт 80).
- Листен принимает и обрабатывает команду 2.
3.
- Клиент посылает команду 1.
А дальше тишина.
Вчера все работало!
Система с отладчиком Клиента работает.
В реале после шага 3 опрашиваю: OperWrite = 10
if (OperWrite > 10) then begin
if FD_IsSet(Sockett, FDSetW) then
begin
Len := LenWrite;
LenWrite := Send(Sockett, BufWrite, Len, 0);
if (LenWrite < Len) or (OperRead >= 900) or (OperWrite >= 900) then begin
OperWrite := 13;
end else begin
OperWrite := 10;
end;
end else begin
OperWrite := 13;
end;
end;
Считаю, команда Send выполнена??
А на Листен событие
WSAWaitForMultipleEvents(3, @FEvents, False, WSA_INFINITE, False) = WSA_WAIT_EVENT_0 + 2
if NetEvents.lNetworkEvents and FD_READ <> 0 then
. . .
не наступило
Подскажите где и как порыться!