powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Передача данных из одной формы в другую
25 сообщений из 63, страница 2 из 3
Передача данных из одной формы в другую
    #38934482
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Сон Веры Павловнычитаем (программа 2)
Ой лукавим!
А где кусочек кода, который поток байтов
Код: c#
1.
message = new byte[viewStream.Length];

в нужный вид преобразовывает? Сколько в нем десятков срок?
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934502
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2, какой такой "нужный вид"? Откуда десятки строк?
В первом сообщении это делается в одну строку.
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934532
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
skyANACat2, какой такой "нужный вид"? Откуда десятки строк?
В первом сообщении это делается в одну строку.
Принимается массив байт. Как правило массив байт никому не интересен и должен быть преобразован в какой-то тип данных. Ну, если это строка, то можно обойтись и одной строкой кода. А если это, допустим, банковские реквизиты 20 контрагентов?
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934560
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Сон Веры Павловны, вчера, 14:20 [17504913]
> ... Вот простейший пример с MMF:

Не знаю, правильно ли я Вас понял, но ядро для WCF примерно такое:

sURL = "net.tcp://localhost:8001/ns_rService.rService";

ServiceHost svcHost = new ServiceHost(typeof(ns_rService.rService), new Uri[] { });
svcHost.AddServiceEndpoint(typeof(ns_rService.I_rService), new NetTcpBinding(SecurityMode.None), sURL);
svcHost.Open();

. . .

sURL = "net.tcp://localhost:8001/ns_rService.rService";
//-- Получим ссылку на интерфейс (отладка)
ChannelFactory<ns_rService.I_rService> factory = null;
factory = new ChannelFactory<ns_rService.I_rService>(new NetTcpBinding());
ns_rService.ITimeOut iTimeOut = factory.CreateChannel(new EndpointAddress(sURL));

. . .

while (true) { iTimeOut.TimeOut(); Thread.Sleep(1000); }

К этому придется добавить реализацию сервиса:

namespace ns_rService {
[ServiceContract]
public interface IОбработкаЗапроса {
[OperationContract]
byte[] ОбработкаЗапроса(byte[] bv);
}

[ServiceContract]
public interface ITimeOut {
[OperationContract]
void TimeOut();
}
[ServiceContract]
public interface I_rService: IОбработкаЗапроса, ITimeOut {}

//=== ===================================================================
//========= Реализация обработки сообщения-запроса пользователя сервисом Хранилища ==========
//=== ===================================================================
[ServiceBehavior(
InstanceContextMode = InstanceContextMode.Single, //-- Единственный экземпляр сервиса
ConcurrencyMode = ConcurrencyMode.Single) //-- Единственный поток для сервиса
]
public class rService : I_rService {
byte[] IОбработкаЗапроса.ОбработкаЗапроса(byte[] bv) {

. . .
void ITimeOut.TimeOut() {

. . .

Ну а в остальном,.. всё хорошо, прекрасная маркиза...
Мелкие примеры мало что дают - нужен пример реализации реальной задачи

С уважением,
Владимир
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934577
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Сон Веры Павловны, вчера, 14:20 [17504913]
>Вот простейший пример с MMF:

Коллега , я думаю, что Ваш пример не решает поставленной задачи - информация передается куда-то в промежуточный носитель.
И что?
По условию топика информация должна быть передана и/или принята другой задачей.

С уважением,
Владимир.
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934597
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Ну, если это строка, то можно обойтись и одной строкой кода. А если это, допустим, банковские реквизиты 20 контрагентов?
Сон Веры Павловныв пределах одного локального компьютера в сеансе одного пользователя требуется тупо передавать raw data, а не сериализованные классы с состоянием.
В стартовом постинге передавалась именно строка в виде байтов, а не банковские реквизиты. Вы тоже, как один из предыдущих ораторов, расширяете за ТС постановку задачи?
ВМоисеевКоллега , я думаю, что Ваш пример не решает поставленной задачи - информация передается куда-то в промежуточный носитель.
И что?
По условию топика информация должна быть передана и/или принята другой задачей.
И то, что она передается и принимается этой другой задачей. Можете сами попробовать скомпилировать и прогнать вышеприведенный код.
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934604
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Сон Веры ПавловныВ стартовом постинге передавалась именно строка в виде байтов, а не банковские реквизиты. Вы тоже, как один из предыдущих ораторов, расширяете за ТС постановку задачи?
Да. Потому что следующим вопросом бы было: "А если мне надо передать не 4 байта?"
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934650
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2skyANACat2, какой такой "нужный вид"? Откуда десятки строк?
В первом сообщении это делается в одну строку.
Принимается массив байт. Как правило массив байт никому не интересен и должен быть преобразован в какой-то тип данных. Ну, если это строка, то можно обойтись и одной строкой кода. А если это, допустим, банковские реквизиты 20 контрагентов?А если бы у бабки... В угадайку играть нет никакого желания. Я задал вопрос ТСу: 17506558 .
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934659
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Сон Веры ПавловныВ стартовом постинге передавалась именно строка в виде байтов, а не банковские реквизиты. Вы тоже, как один из предыдущих ораторов, расширяете за ТС постановку задачи?
Да. Потому что следующим вопросом бы было: "А если мне надо передать не 4 байта?"А на самом деле следующий вопрос был:
Slant-shadowА можно сделать прием и передачу с помощью библиотеки Nanomsg?
А вот что такое Nanomsg и NNanomsg .
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934694
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAА вот что такое Nanomsg и NNanomsg .

Ага. типа, счастливого вам творчества.
На сайте написано:

авторDevelopment Status

Alpha quality. We're still debating the best way to structure some functionality and parts of the API will likely change.

Можно ожидать, что они добавят в конфигурацию конечный пункт, привязку, поведение - а как же без этого?
Уведомят, что их рекордная скорость передачи чуть пострадала, в угоду конфигурабельности. Но они с оптимизмом смотрят в будущее своего продукта.

:-)
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934707
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot skyANA]Cat2А вот что такое Nanomsg и NNanomsg .

имхую, что это извращение, оба
накрутили над сокетами что-то.

Если хочется эдакого, тогда уж SignalR.

зы. кстати, по вашей рекомендации заюзил сигналр, сделали имплементацию, спасибо!
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934834
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Сон Веры Павловны, сегодня, 11:39 [17507263]
>И то, что она передается и принимается этой другой задачей.

Извините, но как и когда вторая задача узнает, что ей надо принимать. Mutex?

С уважением,
Владимир.
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934845
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129skyANAА вот что такое Nanomsg и NNanomsg .

Ага. типа, счастливого вам творчества.
На сайте написано:

авторDevelopment Status

Alpha quality. We're still debating the best way to structure some functionality and parts of the API will likely change.

Можно ожидать, что они добавят в конфигурацию конечный пункт, привязку, поведение - а как же без этого?
Уведомят, что их рекордная скорость передачи чуть пострадала, в угоду конфигурабельности. Но они с оптимизмом смотрят в будущее своего продукта.

:-)я же писал: 17506582
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38934864
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129skyANAА вот что такое Nanomsg и NNanomsg .

Ага. типа, счастливого вам творчества.Зайдите в раздел documentation и напишите это всем тем людям, которых найдёте в контрибьюторах по ссылкам на GitHub :)
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38935384
Slant-shadow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAD129пропущено...


Ага. типа, счастливого вам творчества.Зайдите в раздел documentation и напишите это всем тем людям, которых найдёте в контрибьюторах по ссылкам на GitHub :)

Так у них в документации и идет ссылка на NNanomsg
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38935391
Slant-shadow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь пока передать данные в одной программе, но принимается почему-то пустой массив
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
class Program
    {
        /// <summary>
        ///     
        /// </summary>
        static void Main(string[] args)
        {

            NNanomsg.NanomsgSocket s = new NNanomsg.NanomsgSocket(NNanomsg.Domain.SP, NNanomsg.Protocol.BUS);
            byte[] msg;
                Console.WriteLine("1 - Server\n2 - Client");
            for (int j = 0; j < 2; j++ )
                switch (Console.ReadKey(true).KeyChar)
                {                   
                    case '1':
                    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);                
                    msg = s.Receive();
                    var m = UTF8Encoding.UTF8.GetString(msg);
                    Console.WriteLine(m);
                    break;
            
                   case '2':
                   s.Options.ReconnectInterval = new TimeSpan(0, 0, 5);
                   var f= s.Connect("tcp://127.0.0.1:5088");
                   msg = (Encoding.UTF8.GetBytes("abcdef"));
                   s.Send(msg);
                   Console.WriteLine("Отправлено!");
                  break;
                }
            Console.ReadLine();
        }
    }
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38935778
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Slant-shadow]Пытаюсь пока передать данные в одной программе, но принимается почему-то пустой массив


Ну хоть экземпляров-то программы два запускаете?
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38935803
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныНо я не думаю, что в случае WCF будет быстрее. И возня с WCF уж точно неоправданна , если в пределах одного локального компьютера в сеансе одного пользователя требуется тупо передавать raw data, а не сериализованные классы с состоянием.Кто знает...

A truely simple example to get started with WCF
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38936576
Slant-shadow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot D129]Slant-shadowПытаюсь пока передать данные в одной программе, но принимается почему-то пустой массив


Ну хоть экземпляров-то программы два запускаете?
Пытаюсь, чтобы хотя бы в одной программе передовалось
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38937326
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slant-shadowПытаюсь, чтобы хотя бы в одной программе передовалось
Через сокет?
А как вы себе представляете сокет?
(я сразу предлагал сдаться, и взять шаблон WCF....)
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38937356
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slant-shadow,

Давайте пойдем простым логическим ходом.
Сокет - это некий выход наружу.
Наружа - это операционная система, у которой есть сетевой адрес.
Сокет открывается на этот адрес, и получает заявленый порт (некое целое число - 5088 у вас).
У Сокета есть режим сервера (запросите меня) , и режим клиента (я запрашиваю).
Дальше -
Запросите меня по порту номер 5088 . Это системе сказал сервер.
Я запрашиваю по порту номер 5088 . Это системе сказал клиент.
Если это одна и та же запущенная программа (один раз) - то для системы это один и тот же процесс.
Улавливаете намек?

- Ты дебил? - спросила система у процесса. - Зачем тебе получать то, что ты сам отправляешь? Дебилов не обслуживаем. Следующий!

:-)

Наверное, можно вообразить систему, которая будет читать и писать информацию в одни и те же сокеты, но создавать ее вроде как незачем.
Внутри программы есть общая память - и информацию между разными частями программы передают через переменные....
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38937379
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129Slant-shadowПытаюсь, чтобы хотя бы в одной программе передовалось
Через сокет?
А как вы себе представляете сокет?
(я сразу предлагал сдаться, и взять шаблон WCF....)А при чём тут WCF?
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38937388
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAА при чём тут WCF?

Там в шаблоне уже проблема передачи "между двумя программами" решена.
Можно не знать уже, что такое сокет.
Но всё равно - в одном процессе на один и тот же адрес поставить и клиента, и сервер - тоже не получится.
:-)
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38937392
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129skyANAА при чём тут WCF?
Но всё равно - в одном процессе на один и тот же адрес поставить и клиента, и сервер - тоже не получится.
:-)Так и при чём тут WCF? :)
...
Рейтинг: 0 / 0
Передача данных из одной формы в другую
    #38937417
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAТак и при чём тут WCF? :)
По характеру вопроса топикастера я приблизительно оценил уровень его программерской подготовки, и предположил, что если топикастер взялся за работу, еще не поняв основные принципы, значит ему подойдет решение, в котором не требуется особое понимание, и простейшая задача уже решена. Насколько мне известно, подобным критериям близко соответствует имеющийся в студии шаблон "WCF Service Application".
Поэтому я его сразу и предложил. И до сих пор считаю, что не поздно к нему вернуться.
:-)
...
Рейтинг: 0 / 0
25 сообщений из 63, страница 2 из 3
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Передача данных из одной формы в другую
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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