This question спросил, как связывать запросы и получать ответы. Я тоже хочу отправлять запросы на действия и информацию. Некоторые из этих запросов будут принимать параметры, большинство - нет. И ответов, почти все отправят «ОК», но другие отправят мне информацию. Два конца ссылки ничего не знают друг о друге, кроме этого командного протокола. ОП получил свой ответ, сказав ему, как обернуть его код.C# блокирование ожидание ответа, снова
Я был поражен такими ответами, рассказывающими, какие технологии использовать, как обернуть код и т. Д .; и поскольку я делаю совершенно новую разработку с помощью новейших инструментов, я нашел и принял, что хочу использовать TAP, поскольку Джон Скит ответил OP на этот вопрос. Думаю, теперь я знаю, как обернуть мой код. Мой вопрос, однако, не в том, что использовать технологию, а не как использовать async/wait.
Но как выглядит этот код? Какие методы/параметры и т. Д. Используются для отправки запросов и получения ответов? Как установить связь между двумя концами, которые не могут найти друг друга? Как включить параметр? И т. Д.
Я хочу использовать шаблон стратегии, чтобы в одном случае два конца были формами, а команды - результатом нажатия кнопок, параметрами текстовых полей. Эта форма существует. И вторая стратегия, еще не написанная, заключается в том, чтобы два конца связывались по сети между компьютерами. Сервер будет сервисом Windows, командный модуль - формой, которая будет отправлять команды в ответ на автоматизацию производственной линии.
Это не помогает мне сказать: «Использовать RPC» или «использовать сокет». Что такое RPC? И как код сокета относится к той части, которая отправляет команды ... как выглядит код?
Скажем, у меня есть:
public async void SendCommandAsync(Command c, Parameters p)
{
string response;
await response = SendAsync(c, p);
}
Что требуется, чтобы быть на месте, прежде чем эта функция называется? И что такое SendAsync()? Как он связывается с удаленным слушателем? Какой параллелизм существует между двумя стратегиями, один из которых общается по сети, с SOAP или HTTP, другой из которых находится на одном компьютере, одна форма для другой?
Спасибо, что смирились с моим невежеством.
Могут ли пособия по TCP, сериализации, SOAP, ... помочь вам? Если да, это не является хорошим вопросом для переполнения стека. Вам лучше всего послушать исчерпывающие учебные пособия. – usr
Я не думаю, что они это сделают. В прошлом я написал такой код, но современные модели развития намного проще и пока незнакомы мне. Я думал, что это может быть справедливо и для кого-то другого, кто мог бы использовать простой пример. Учитывая основание, я могу идти оттуда. О тех вещах, которые вы упомянули, что бы вы использовали? (Я отредактирую свой вопрос для получения большей ясности ...) – shipr
Не могли бы вы ответить на вопрос: «Как отправить запрос и получить ответ по сети другому процессу и/или машине?»? Вы ищете руководство по прагматическому достижению такого? – usr