|
7 / 7 / 2
Регистрация: 20.04.2011
Сообщений: 163
|
||||||
Socket.BeginConnect и чтение/запись данных - проверка кода13.09.2012, 13:42. Показов 9756. Ответов 71
Метки нет (Все метки)
Данные поступают я их вывожу в контролы.Также хотелось бы реализовать запись данных в файл и одновременное чтение в другом месте.как мне это реализовать без "Задержки данных" ибо мы используем асинхронный коннект. Также хотелось бы спросить у ГУРУ у меня "правильная логика" полученния данных вывод и всего остального? Добавлено через 40 минут И ещё если убрать комментарии возле Chart'a то видно не вооруженным глазом что данные "запаздывают" в Textbox'e я вижу только один путь исправления. "оптимизировать" Chart т.е. выводить только текущие значения(пакеты который только что пришли и прошлый пакет вырисовывать, а не все что бы график не выравнивался и не "скручивался"), но даже он не даст "точных" текущих значений на клиете(они не будут совпадать на сервере) как вывесте текущее значения в Chart??или как вылечить болезнь с "запаздыванием" данных если она вообще решается на моё примере(т.к. используем асинхронный коннект)
0
|
||||||
| 13.09.2012, 13:42 | |
|
Ответы с готовыми решениями:
71
как передать начальные данные в Socket.BeginConnect Реализовать чтение данных ИБП Ippon через serial socket Чтение файла, чтение названия папки где находится файл, запись данных на PHP |
|
7 / 7 / 2
Регистрация: 20.04.2011
Сообщений: 163
|
||||||
| 14.09.2012, 10:05 [ТС] | ||||||
0
|
||||||
| 14.09.2012, 10:16 | |
|
videoLoL, код простейший, не вижу особых трудностей переписать все на шарп. Такой вопрос: пробовал переписать клиента используя мой пример? Если нет, то сперва перепиши. В консольке сделай, чтобы был коннект, принимались данные. После продолжим.
0
|
|
|
7 / 7 / 2
Регистрация: 20.04.2011
Сообщений: 163
|
||||||
| 14.09.2012, 10:43 [ТС] | ||||||
|
Ок сейчас переделаю под более менее читабельный вид
Добавлено через 24 минуты
0
|
||||||
| 14.09.2012, 10:53 | ||||||
1
|
||||||
|
7 / 7 / 2
Регистрация: 20.04.2011
Сообщений: 163
|
||||||
| 14.09.2012, 10:58 [ТС] | ||||||
и ещё хотел сделать один класс что быпросто то инициализировать и методы вызывать но проблема в том что в методе ReceiveData() есть вывод в контролл и тут возникает проблемы я не могу понять как выводить в контролл делал ReceiveData(TextBox textbox) и толком не работает
0
|
||||||
| 14.09.2012, 11:10 | |
|
sock.EndConnect(ar); - затем, что это асинхронный режим! Читай мат часть, каждый асинхронный вызов должен быть завершен end'ом.
На счет контрола не понял. Сделай глабольную переменную контрола и пиши в него что хочешь, откуда хочешь.
1
|
|
|
7 / 7 / 2
Регистрация: 20.04.2011
Сообщений: 163
|
||||||
| 14.09.2012, 11:13 [ТС] | ||||||
|
Пожалуйста если вам не трудно скиньте почитать про мат частью.
0
|
||||||
| 14.09.2012, 11:32 | ||
|
http://msdn.microsoft.com/ru-r... 588te.aspx http://msdn.microsoft.com/ru-r... 39x2a.aspx http://msdn.microsoft.com/ru-r... 2eya8.aspx Добавлено через 13 секунд http://www.codeguru.com/csharp... art-II.htm Добавлено через 2 минуты думаю этих примеров хватит, чтобы начать разбираться в сокетах. Правда там теорию не очень много, но надо понять саму суть. Ну и, конечно, гугл в помощь. Лично мне по примерам проще учиться. Добавлено через 6 минут Клиент-серверное приложение, насколько верна организация предпоследнее сообщение с примерами. Там используются события, как раз таки то что тебе нужно.
1
|
||
|
7 / 7 / 2
Регистрация: 20.04.2011
Сообщений: 163
|
|||||||||||
| 14.09.2012, 12:04 [ТС] | |||||||||||
|
Спасибо за статьи. но у меня данные идут бесконечно и при рвет их только тогда когда клиент этого захочет. это мне не нужно
0
|
|||||||||||
| 14.09.2012, 12:22 | ||
|
В принципе можешь создать TextBox testbox = textBox1; и передавать в конструктор переменную testbox, ну и соответственно в классе делать что в этом духе: testbox.Text = ReceiveData(); Но это очень корявый способ, я бы на твоем месте, посидел бы и разобрался бы с событиями. Это было бы намного грамотнее, да и на будущее может пригодится, тем более живой пример я тебе скинул.
0
|
||
|
7 / 7 / 2
Регистрация: 20.04.2011
Сообщений: 163
|
|||||||||||
| 14.09.2012, 12:31 [ТС] | |||||||||||
|
Надеюсь вы не про вот это? Создаешь класс для обработки события, обычно это класс унаследованный от EventArgs, в котором содержатся переменные, нужные тебе(например айпи адрес отправителя, количество принятый данных и т.п.) и делаешь там просто конструктор на инициализацию этих данных. Далее в коде клиента созда делег для события, и метод для заполнения данными этого события. Далее в форме останется объявить это события для класса клиента и реализовать его.
Пример как создать события:
Код C#
0
|
|||||||||||
| 14.09.2012, 12:38 | |
|
Именно про это.
https://www.cyberforum.ru/post2774974.html по ссылке найдешь пример, если разберешься - будет здорово.
1
|
|
|
7 / 7 / 2
Регистрация: 20.04.2011
Сообщений: 163
|
|
| 14.09.2012, 12:41 [ТС] | |
|
Спасибо за помощь буду разбиратся..правда там исходник сервера..а сервер то у меня уже написан и он не под .Net..а вот клиент с событиями я по изучаю..видимо тема ещё не закрыта)
0
|
|
|
7 / 7 / 2
Регистрация: 20.04.2011
Сообщений: 163
|
|
| 14.09.2012, 12:49 [ТС] | |
|
увеличил буфер с 800 до 8192 заметил что если выводить в Textbox1.Invoke(new Action(()=> Textbox1.text = .....));
анологично в Chart.. пакеты приходили по 800байт..теперь приходят по 1600..и если Chart не очищать пакеты начинают приходить по 8192. Поправьте если я не правильно напишу.. т.е. Chart рисует чз Invoke т.е. тратится время и когда Chart дорисовал принимается следующая "порция" пакетов.. и т.д. Chart уже сложно "ДОРИСОВЫВАТЬ новые точки" к текущим и уже тратися больше времени в это время очередь пакетов копится..и Recive хочет как можно быстрее их отдать Chart'у??
0
|
|
| 14.09.2012, 12:59 | |
|
Не доводилось работать с Chart'ом, поэтому не могу что-то конкретное посоветовать. Но по идеи чарт виснит из-за того, что в него постоянно пытаются что-то впихнуть. Как вариант, можно сделать очередь, или событие на остановку дальнейшего приема данных чарта, пока не отрисуются текущие(т.е. с помощью ManualResetEvent)
1
|
|
|
7 / 7 / 2
Регистрация: 20.04.2011
Сообщений: 163
|
||||||
| 24.09.2012, 09:56 [ТС] | ||||||
0
|
||||||
|
7 / 7 / 2
Регистрация: 20.04.2011
Сообщений: 163
|
|
| 24.09.2012, 13:18 [ТС] | |
|
Работает как надо..но есть проблемы..с Методом Send. Не выгляди ли он кастыльно?..и бывает такое что при нажатие на Коннект и сразу же Дисконект форма иногда закрывается.=(
0
|
|
| 24.09.2012, 13:26 | |
|
videoLoL, на счет костыльности не знаю, по сути 1 строчка и будет из себя представлять отправку данных, и я смотрю ты до сих делаешь асинхронный коннект, но синхронные send и receive. Переделай в асинхронный, если есть желание.
На счет выкидывания из формы, тут остается только тестить, т.е. смотри при каких обстоятельствах закрывается и т.п. Просто так не моэет закрываться же, верно? Send можно усложнить только добавлением к передаваемой строке каких нибудь специальных символов, но думаю тут это лишнее, так как ты разрабатваешь только 1 часть приложения.
0
|
|
| 24.09.2012, 13:26 | |
|
Чтение/запись hex кода файла Проверка прав доступа (чтение/запись) в директории Open/Save Dialog. Сериализация данных. Запись/чтение данных объектов в/из потока.
Чтение и запись данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
|
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи.
. . .
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|