10035 - winsock

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

10035 - winsock

Сообщение Sirik » 09.06.2005 (Чт) 11:49

возникает такая ошибка при передачи кучи данных на разные IP, протокол UDP

почти во всех ресурсах дано очень "полное" объяснение данной ошибки:
Ресурс временно недоступен, при выполнении функции работы с сокетом, которая не может выполнить операцию немедленно.

но что это значит и как с этим бороться никто не говорит. может что-то подскажите?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 09.06.2005 (Чт) 12:04

Про борьбу с этим написано в MSDN:
This error is returned from operations on non-blocking sockets that cannot be completed immediately, for example recv when no data is queued to be read from the socket. It is a non-fatal error, and the operation should be retried later. It is normal for WSAEWOULDBLOCK to be reported as the result from calling connect on a non-blocking SOCK_STREAM socket, since some time must elapse for the connection to be established.
Изображение

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 09.06.2005 (Чт) 12:21

я понимаю, что ошибка возникает при открытии нового сокета перед закрытием старого. и что, надо возобновить отправку данных попоже.
но как поймать когда сокет ещё занят? что error ловить - это глупо или нет?.

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 09.06.2005 (Чт) 13:13

всё, разобрался. оказываеться не так всё плохо как казалось

а сделал вот так:
создал свой класс (очередь сообщений) и таймер
в этот класс "пихал" сообщения, а таймер проверял очередь и если всё ок - отправлял сообщения, если нет - повторял.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot, Yandex-бот и гости: 183

    TopList