|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.01.2016, 15:52 | #1 |
Форумчанин
Регистрация: 12.02.2010
Сообщений: 787
|
C# TCP - ищу алгоритмической подсказки
Хочу получить вполне словесный незамудренный ответ на словестное объяснение проблемы. Имеется 3 программы Windows Forms: Transmitter, Channel, Receiver.
Требуется запустить все 3, нажать на старт и наблюдать, как в первой генерируется некоторый массив double (довольно сложным методом, который занимает 0.1 секунду времени). Затем этот массив передается по TCP во второе приложение, но там просто копируется из потока в поток (согласитесь, операция недолгая). В итоге, со второй программы в третью передается массив данных, в третьей обрабатывается и выводится на экран. Все происходит в реальном времени, то есть 31000 элементов double передается быстро из Transmitter через Channel в Receiver, а затем успевает отобразиться до того, как программой Receiver получены уже новая 31000 элементов. Это в идеале. На практике же я сделал почти все, это два стандартных клиент-сервера, настроенных на разные порты, в Transmitter по таймеру раз в 3 секунды (для точности взял большой тайминг) генерируется 31000 элементов double, в канале просто происходит передача массива из потока в поток с помощью Invoke, и этот массив также отображается на графике. Как только Channel принял данные, он их сразу же передает, без тайминга. Я функцию сделал, которая выполняет действия только при поступлении данных. Так вот, я даже передал данные в приемник. Но тут понял, что-то не то. У меня приемник даже при тайминге 3 с выдает правильный рез, правильный рез и вдруг... Косячит. Я подумал, обработка на приемной части идет сравнительно долго, а у меня одновременно происходит прием TCP и обработка данных. Так вот, как лучше разделить процесс приема и обработку? Или даже проще, как бы вы решали эту задачу? Не так важен код, как алгоритм, который не сложно написать на C#. |
27.01.2016, 16:16 | #2 | ||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
если вам важна быстрая прокачка, то почему тцп?
Цитата:
Цитата:
|
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подсказки | alexey_kip | Visual C++ | 1 | 15.04.2012 13:25 |
составте програму для реализации на языке паскаль алгоритмической структуры множественого выбора | Dina2360 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 18.12.2011 19:26 |
Пожалуста составте програму для реализации на языке паскаль алгоритмической структуры множественого выбора | Dina2360 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 18.12.2011 15:00 |
как создать TCP клиент, TCP сервер ? | DreamMaster911 | C/C++ Сетевое программирование | 1 | 26.10.2010 15:05 |