|
7 / 7 / 2
Регистрация: 20.04.2011
Сообщений: 163
|
||||||
Socket.BeginConnect и чтение/запись данных - проверка кода13.09.2012, 13:42. Показов 9635. Ответов 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
|
|
| 24.09.2012, 13:30 [ТС] | |
|
Тут встала проблема с BeginReceive зациклить его вообще возможно?;Q
Даже если зациклю придётся останавливать отрисовку и снова запускать BeginReceive=(. или как то можно по проще? Правильно ли организован клиент (иногда форма внезапно закрывается) Тут код по читабельнее
0
|
|
| 24.09.2012, 13:44 | ||||||
|
У тебя просто код не правильно написан. Работай с асинхронным ресивом также как и с синхронным. т.е. в цикле делаешь бесконечные выховы ресива, а в CallBack методе должен быть примерно следующий код:
Добавлено через 2 минуты При работе с асинхронными сокетами надо запомнить одну очень важную вещь - все асинхронные операции должны заканчиваться методом "END". Иначе операция считается не завершенной и ожидает завершения.
0
|
||||||
|
7 / 7 / 2
Регистрация: 20.04.2011
Сообщений: 163
|
||||||
| 24.09.2012, 13:53 [ТС] | ||||||
Если раскоментю MessageBox то всё работает=)..или делаю Thread.Sleep...никак не могу понять почему у меня не работает как надо-_-
0
|
||||||
| 24.09.2012, 14:03 | |||||||
|
videoLoL, видимо мои сообщения до тебя не доходят, ладно:
вот как должен выглядеть твой код:
0
|
|||||||
|
7 / 7 / 2
Регистрация: 20.04.2011
Сообщений: 163
|
|
| 25.09.2012, 13:36 [ТС] | |
|
К сожалению что я вас понимаю..думаете я не пробовал BeginReceive).Дело в том что когда я получаю данные асинхронно и асинхронно их вывожу.то возникает проблема в отображение графика.график хорошо рисуется,но при перетаскивание формы график из "пилы"превращается в непонятный график..а мне надо что бы получалась пила.
0
|
|
|
7 / 7 / 2
Регистрация: 20.04.2011
Сообщений: 163
|
|
| 25.09.2012, 13:51 [ТС] | |
|
При синхронном получение данных такой проблемы нету=(.но при получение их чз BeginReceive нужно данные выводить чз Invoke или BeginInvoke?
0
|
|
| 25.09.2012, 13:55 | ||
|
При BeginReceive, делайте как до этого - получили данные - записали в событие - событием вывели, invoke понадобится скорее всего для последнего действия.
0
|
||
|
7 / 7 / 2
Регистрация: 20.04.2011
Сообщений: 163
|
||||||
| 25.09.2012, 14:12 [ТС] | ||||||
|
Тот код который вы мне скинули.он закрывает форму.пробежался отладкой и увидел что в цикл заходит быстрее чем успевает отрабатывать BeginRecive.как тогда сделать бесконечный цикл?
Решил сделать так
Добавлено через 4 минуты а как прекратить то передачу данных))..EndConnect?EndRecive?
0
|
||||||
|
7 / 7 / 2
Регистрация: 20.04.2011
Сообщений: 163
|
|
| 27.09.2012, 14:52 [ТС] | |
|
Привет.Подскажите пожалуйста как осуществляется передача данных и передача например файла?
Думаю что так: На сервере стоит условие принятие данных if(i == 1) передача файла это if(i == 0) Клиент передаёт данные отправляет сначала i = 1; Если захотели передать данные передаём i = 0. я прав?
0
|
|
| 27.09.2012, 15:01 | |
|
videoLoL, В принципе да, тебе надо как то дать сигнал серверу(если ты с клиента передаешь файл) что сейчас полетит инфа о файле. Это может быть целая строка, например "Sending file" и т.п. А на сервере стоит проверка, если принятые данные содержат "Sending file", то делать то то, если нет просто отобразить принятое сообщение.
1
|
|
| 27.09.2012, 15:01 | |
|
Чтение/запись hex кода файла Проверка прав доступа (чтение/запись) в директории Open/Save Dialog. Сериализация данных. Запись/чтение данных объектов в/из потока.
Чтение и запись данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|