powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Передача данных из одной формы в другую
25 сообщений из 63, страница 1 из 3
Передача данных из одной формы в другую
    #38933560
Slant-shadow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.
Как правильно организовать передачу данных из одной программы в другую?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
class Program      
    {
        static void Main(string[] args)
        {
               NNanomsg.NanomsgSocket s = new NNanomsg.NanomsgSocket(NNanomsg.Domain.SP, NNanomsg.Protocol.BUS);
               s.Options.ReconnectInterval = new TimeSpan(0, 0, 5);
               var e = s.Connect("tcp://127.0.0.1:5088");
               byte[] msg = (Encoding.UTF8.GetBytes("abcd"));
               s.Send(msg);
               Console.WriteLine("CLIENT finished");
               Console.ReadLine();
        }



Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
class Program
    {
        static void Main(string[] args)
        {
                NNanomsg.NanomsgSocket s = new NNanomsg.NanomsgSocket(NNanomsg.Domain.SP, NNanomsg.Protocol.BUS);
                s.Options.ReconnectInterval = new TimeSpan(0, 0, 5);
                var e = s.Connect("tcp://127.0.0.1:5088");
                string sock = "tcp://127.0.0.1:5088";
                s.Bind(sock);
                
                var listener = new NanomsgListener();
                listener.AddSocket(s);
                byte[] msg;
                msg = s.ReceiveImmediate();
                var m = UTF8Encoding.UTF8.GetString(msg);
                Console.WriteLine(m);
        }
    }
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38933680
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Передача данных из одной формы в другую
2. Организовать передачу данных из одной программы в другую?

Так вы определитесь
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38933757
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Winnipuh1. Передача данных из одной формы в другую
2. Организовать передачу данных из одной программы в другую?

Так вы определитесь
+1
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38933758
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ах да. Из программы в программу лучше всего передавать через WCF
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38933765
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Ах да. Из программы в программу лучше всего передавать через WCF

да, или скажем сокеты, named pipes, msmq и т.д... все от навыков зависит(ц)
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38933805
Slant-shadow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuh2. Организовать передачу данных из одной программы в другую?

Так вы определитесь
Программы
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38933814
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slant-shadowWinnipuh2. Организовать передачу данных из одной программы в другую?

Так вы определитесь
Программы

кроме перечисленного выше можно еще базу заюзить (sqlexpress, sqlite и т.д.)

Я бы делал через WCF+net.pipes
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38933827
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuhкроме перечисленного выше можно еще базу заюзить (sqlexpress, sqlite и т.д.)
Да чего уж там - сразу гонять данные через облако.
А еще можно заюзать смс-шлюз. И слать данные в виде USSD.
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38933974
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны И слать данные в виде USSD.

А принимать - только в USD!
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934053
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slant-shadow,

Зашугали новичка.

В вашем случае - самый быстрый способ - WCF.
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934078
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129Slant-shadow,

Зашугали новичка.

В вашем случае - самый быстрый способ - WCF.а Shared Memory медленный что-ли? :)

Если ТСу какой-то набор байт хочется передать, то зачем тут WCF?
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934110
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAа Shared Memory медленный что-ли? :)
Если ТСу какой-то набор байт хочется передать, то зачем тут WCF?
У тов. Ayende есть нарекания на эту тему: http://ayende.com/blog/163138/memory-mapped-files-file-i-o-performance
Но я не думаю, что в случае WCF будет быстрее. И возня с WCF уж точно неоправданна, если в пределах одного локального компьютера в сеансе одного пользователя требуется тупо передавать raw data, а не сериализованные классы с состоянием.
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934111
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAD129Slant-shadow,

Зашугали новичка.

В вашем случае - самый быстрый способ - WCF.а Shared Memory медленный что-ли? :)

Если ТСу какой-то набор байт хочется передать, то зачем тут WCF?

быстрый в плане экономии времени программиста. Даже для передачи набора байт.
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934115
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныWinnipuhкроме перечисленного выше можно еще базу заюзить (sqlexpress, sqlite и т.д.)
Да чего уж там - сразу гонять данные через облако.
А еще можно заюзать смс-шлюз. И слать данные в виде USSD.

можно курьера нанять, он на мотоцикле будет возить, быстро
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934124
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slant-shadowПрограммы

Возьмите шаблон в студии - для WCF

Там сразу есть и клиент, и сервер, с привязками. Останется только дописать ваш "набор байт" - и все.
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934125
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129быстрый в плане экономии времени программиста. Даже для передачи набора байт.
Вот простейший пример с MMF:
Создаем и пишем (программа 1):
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
class Program
{
  static void Main(string[] args)
  {
    var message = Encoding.ASCII.GetBytes("MemoryMappedFileTest");
    using(var mmf = MemoryMappedFile.CreateNew("MMFTest", message.Length))
    {
      using(var viewStream = mmf.CreateViewStream())
        viewStream.Write(message, 0, message.Length);
      Console.WriteLine("done");
      Console.ReadKey(true);
    }
  }
}


читаем (программа 2)
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
class Program
{
  static void Main(string[] args)
  {
    byte[] message;
    using (var mmf = MemoryMappedFile.OpenExisting("MMFTest"))
    {
      using (var viewStream = mmf.CreateViewStream())
      {
        message = new byte[viewStream.Length];
        viewStream.Read(message, 0, message.Length);
      }
    }
    Console.WriteLine(Encoding.ASCII.GetString(message).Trim('\0'));
    Console.WriteLine("done");
    Console.ReadKey(true);
  }
}


(под MMF резервирется минимум страница памяти, поэтому Trim('\0'))
А теперь с вас пример быстрой в плане реализации и времени программиста передачи байтов с помощью WCF. Ну, и заодно, чтобы обмен был двунаправленным (MMF это легко позволяет).
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934128
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныА теперь с вас пример быстрой в плане реализации и времени программиста передачи байтов с помощью WCF. Ну, и заодно, чтобы обмен был двунаправленным (MMF это легко позволяет).

Вам шаблон из студии скопировать?
:-)
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934129
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны

Вы к такому коду пришли видимо, не с первого раза.
Если вот я, например, начну чего-то пробовать - двунаправленную запись - о которой вот услышал первый раз - сколько я буду с ней мучаться?
А потом бац! - А программы на разных компьютерах надо!
:-)
Так что совет брать универсальное и документированное - в условиях начальных непоняток - он правильнее.
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934135
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны,
в общем да, согласен, но мне имхуется:
двунаправленный то он двунаправленный... но ваш минимальный пример по-моему требует какой-то синхронизации, чтобы не читать то, что уже прочитано как минимум и т.д.. Потом писец не знает, прочитал ли его чтец.
Что в wcf случае решено без нас. Ну и примечание по поводу переноса на разные машины- в случае wcf это решается пракчтиески на уровне конфиг файла.
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934145
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129А потом бац! - А программы на разных компьютерах надо!
А потом бац! - И мы пишем программу-искусственный интеллект для управления БАК. Обычно люди заранее формулируют то, чего они хотят от программы, и под эти требования подбирают соответствующий инструментарий.
D129Так что совет брать универсальное и документированное
MMF вполне себе документированы: https://msdn.microsoft.com/en-us/library/dd997372(v=vs.110).aspx
А универсальность как самоцель, она как то лучшее - враг хорошего.
D129в условиях начальных непоняток
Вы хотит сказать, что с WCF начальных непоняток не будет? Ну-ну. Начиная от таких вот милых особенностей и заканчивая содержимым конфига для поднятия сервиса, атрибутами маркировки сущностей, и проч. - непоняток будет выше крыши. Если что - я совсем не против WCF как такового, но считаю, что инструментарий решения должен соответствовать задаче.
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934164
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны Обычно люди заранее формулируют то, чего они хотят от программы, и под эти требования подбирают соответствующий инструментарий.
Это да.
:-)
Не знаю читаете вы про апокалипсис - в ПТ, там как раз привели ссылку - люди взяли четыре года на разработку формулировок - чего они хотят от программы и на чем это будет бежать.
Но иногда нет - не формулируют. И желательно предусматривать наиболее вероятное развитие событий.

Может топикастеру вообще подойдет общий файл (или общий каталог)......
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934167
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuh требует какой-то синхронизации, чтобы не читать то, что уже прочитано как минимум и т.д..
Ого себе - простой пример оказался....
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934200
Slant-shadow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно сделать прием и передачу с помощью библиотеки Nanomsg?
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934438
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slant-shadowА можно сделать прием и передачу с помощью библиотеки Nanomsg?Для начала уточните прием и передачу чего, каких данных, какой структуры и содержания Вы хотите сделать. И между чем.
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934440
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slant-shadow, судя по описанию на GitHub, разработчики NNanomsg планируют API изменить.
Я бы подождал, ну или спросил у них, что поменяется.
...
Рейтинг: 0 / 0
25 сообщений из 63, страница 1 из 3
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Передача данных из одной формы в другую
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]