Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 31.03.2017
Сообщений: 4

нужно разьяснение по работе с сервером OpenOCD , используя команды write/read

06.08.2020, 14:48. Показов 1218. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
кто может подсказать по связке server-client (telnet) OpenOCD.
Почему необходимо делать исскуственную задержку между операциями write-read с стороны клиента. Без "задержки" (экспериментально подобрана величина 50мс) не могу получить эхо ранее отосланной команды серверу и данные от его.

Все возможные способы опросить сервер на предмет полной готовности к отправке данных не дал НИКАКОГО результата.

Все это работает прекрасно если шагать по программе в ручном режиме (программа на С из под Линукса). Уже мозг закипает ((
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.08.2020, 14:48
Ответы с готовыми решениями:

Параллельные процессы read и write в работе с FIFO
Здравствуйте. В порядке самостоятельного изучения языка написал программку: #include <stdio.h> #include...

Напишите программу "склеивания" двух файлов, используя функции creat, read, write, open и close
Напишите программу "склеивания" двух файлов, используя функции creat, read, write, open и close.

Используя команды Console.Write(x) лишь при x=0.9, написать программу печати десятичной записи целого положительного числа n
Используя команды Console.Write(x) лишь при x=0..9, написать программу печати десятичной записи целого положительного числа n. Нужно...

2
 Аватар для Annemesski
2674 / 1336 / 480
Регистрация: 08.11.2016
Сообщений: 3,693
07.08.2020, 07:13
логично: Вы отправили серверу сообщение, он должен его принять и обработать прежде чем дать ответ, а на это требуется какое никакое время. Также логично то, что нет никакого смысла теребить сервер на тему готов он ответить или нет, он ответит когда будет готов. Смотрите в сторону блокирущих сокетов которые будут висеть на recv или recvFrom пока не придет ответ или bytesAvailiable для асинхронного режима.
0
0 / 0 / 0
Регистрация: 31.03.2017
Сообщений: 4
07.08.2020, 14:34  [ТС]
Механизм понятен в принципе , но из-за отсутствие опыта с сетевым программирование да еще и на С , где все надо прописывать своими ручками, сформировался этот вопросю. Я пробовал использовать recv() вместо read(), менял время в параметре, но устойчивое чтение от сервера так и не получилось - все работало нестабильно и с потерей данных (эхо отосланных команд и полезных данных от сервера). Все это работает на одном компьютере - никаких проводов и WiFi соединений нет.
Я пробовал использовать select() для опроса сервера перед чтением - тоже непонятные глюки. В результате решил попробовать более навороченную poll() и результат совпал с ожиданием! Теперь эта команда стоящая перед задежкой и сразу после - дает четкое представление о состоянии сервера перед считывание своими флагами в структуре и возвращаемым значением!
Осталось все это правильно задействовать в программе и удалить задержки.
Кстати на более осмысленное понимание процессов общения сервера-клиента дала вот эта фраза:
"у сетевых сокетов есть и недостатки. Даже если сокеты используются для обмена данными на одной и той же машине, передаваемые данные должны пройти все уровни сетевого стека, что отрицательно сказывается на быстродействии и нагрузке на систему".
Ну и выясние места "затыка" в моем алгоритме тоже сыграло немаловажную роль.
До этого я исходил, что процессы чтения-записи между сервером и клиентом идут мгновенно (ввиду мощного процессора и работы на одном компьютере). Но реальность оказалось иной - сетевой обмен всегда неспешен и требует "ухода" и постоянной "заботы" о нем))) когда это все рулиться программой на С.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.08.2020, 14:34
Помогаю со студенческими работами здесь

read(); write();
Вот такая вот небольшая программка fstream myFileReader("hardware.dat", ios::in | ios::out); int example = 1; ...

read()/write() блокировки
Здравствуйте. Проблема следующая - системные вызовы read()/write() блокируются если читают/пишут больше, чем надо в pipe. Можно ли...

Read/write property
Программирую на делфи, там есть read/write property. то есть при записи в поле - такое действие, при чтении - другое действие. Вот...

Функции write и read
Здравствуйте, уважаемые! Вопросы по работе с файлом через fstream. Возник вопрос по поводу записи структуры в нужном месте файла....

проблемы с read() или write()
Господа, в данных двух ф-цях имеются методы read() и write(), проблема в том, что я впервые использую эти методы и по этой причине тут...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru