|
1 / 1 / 0
Регистрация: 22.12.2015
Сообщений: 26
|
|||||||||||
Код не дожидается своей функции. Необходимо строго остановить работу кода до появления функции25.06.2018, 15:51. Показов 887. Ответов 8
Метки нет (Все метки)
Собственно пару слов о коде. Организован бесконечный цикл ожидания приёма 1 с клиента серверу и посылка данных от сервера клиенту при получении 1.
Сервер:
Реальность - это работает если с SocketRecv работать постоянно, т.е. в пределах 10 секунд, дальше почему-то программа отказывается ждать появления 1ки и всё равно (!) как ни странно пытается выполнить следующий блок
Может кто подскажет как правильно заставить программу строго ждать выполнение процедуры? Или подскажет иной способ реализации моих задач?
0
|
|||||||||||
| 25.06.2018, 15:51 | |
|
Ответы с готовыми решениями:
8
Возврат кода ошибки из своей функции, возможно ли Остановить работу какого-либо кода по нажатию кнопки Как остановить цикл в функции, в другой функции |
|
Модератор
3406 / 2177 / 354
Регистрация: 13.01.2012
Сообщений: 8,444
|
|
| 26.06.2018, 07:58 | |
|
kosmonavt40rus, какая библиотека? Может там тайм-аут приема задан просто?
0
|
|
|
1 / 1 / 0
Регистрация: 22.12.2015
Сообщений: 26
|
||||||
| 26.06.2018, 08:47 [ТС] | ||||||
|
Я работаю с камнем Vortex86. Для него разработчики написали библиотеку для работы с сетью:
http://www.dmp.com.tw/tech/dmp-lib/dsock/ Конкретно я работаю с библиотекой dsock.lib и заг. файл dsock.h, где функция Recv выглядит следующим образом: int SocketRecv (SOCKET s,BYTE *pby,int nLen); Никаких временных рамок здесь я не вижу, но в итоге получается что код ждёт 10 секунд и если не получает свои данные, то просто продолжает выполнение кода ниже. Вот и не знаю как мне "застакать" код на этом месте. Не понятен мне и тот факт, что
Может есть какая-то идея как по другому организовать бесконечный цикл или использовать какие-то функции из языка C++ которые позволят мне "жестко" остановить продолжение выполнения кода? Я просто программирую 3 месяца и могу чего-то не знать, даже может быть очевидного
0
|
||||||
|
2734 / 888 / 331
Регистрация: 10.02.2018
Сообщений: 2,097
|
|
| 26.06.2018, 12:25 | |
|
1) Проверять, что возвращает
SocketRecv. Не зря же он возвращает int.2) Читать документацию по своему набору команд. У обычных сокетов то же нет в аргументах recv таймаута, оно задаётся другими функциями.
0
|
|
|
1 / 1 / 0
Регистрация: 22.12.2015
Сообщений: 26
|
||||||
| 26.06.2018, 14:33 [ТС] | ||||||
|
Назначение SocketRecv() - Receive data from a socket
При чём есть отдельная функция - SocketRecv2() - Non-blocking function of SocketRecv(). Т.е. тоже самое, только не блокирующая функция. SocketRecv() при ошибке возвращает -1. Но я пока не особо понимаю как я могу использовать этот факт. Добавлено через 53 минуты Пробую идти другим путём:
0
|
||||||
|
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
|
|
| 27.06.2018, 01:14 | |
|
1
|
|
|
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
|
||
| 27.06.2018, 06:44 | ||
|
Эта библиотека уже лет 10 не поддерживается, а исходники закрыты.
0
|
||
|
1 / 1 / 0
Регистрация: 22.12.2015
Сообщений: 26
|
|||||||||||
| 27.06.2018, 10:23 [ТС] | |||||||||||
|
lArtl, согласен я позже увидел ошибку, спасибо.
Однако экспериментальным путём было выяснено что в случае не получения 1ки он возвращает 0, и код трансформировался в следующее:
А если же просто оставить работу программу, то проходит буквально 2 итерации когда программа прыгает к receive, затем включается бесконечный цикл и он выводит следующее:
gng, нет там всё работает. Конкретно я работаю с CPC109
0
|
|||||||||||
|
Заблокирован
|
|
| 29.06.2018, 20:12 | |
|
0
|
|
| 29.06.2018, 20:12 | |
|
Помогаю со студенческими работами здесь
9
Работа функции cin.get(): не дожидается ввода символа в конце программы Необходимо ли обрабатывать часть кода функции, расположенного после return? Использование функции в своей программе из своей dll Работа функции qsort - объяснить работу функции Строгая монотонность строго выпуклой функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|