Рейтинг:
2
Sergey Alexandrovich Kryukov
Этот вопрос заставляет меня усомниться в том, что у вас достаточно опыта или базового понимания технологии, чтобы решить такую проблему, хотя она относительно проста.
Вам нужно иметь приложение Linux, которое должно играть роль сетевого сервера, а приложение Windows C# — его клиента. Запрос будет посылать команду. Теперь это можно сделать на нескольких различных уровнях. Одним из (очень безболезненных) способов было бы: создать как клиентскую, так и серверную сторону в .NET, где вы можете использовать сокеты на уровне TcpClient/TcpListener
, классический remoting или WCF. Вы можете запустить серверное приложение в Linux без перекомпиляции использование моно:
http://en.wikipedia.org/wiki/Mono_%28software%29[^],
http://www.mono-project.com/[^].
Другой вариант, основанный на Mono: установите Apache и mod_mono (http://www.mono-project.com/[^], http://www.mono-project.com/Mod_mono[^]) и создать ASP.NET приложение с серверной стороной на Linux. В этом случае даже любой веб-браузер может играть роль клиента. Начать здесь: http://www.asp.net/get-started[^]. Клиент может быть также обычным приложением C# Windows, использующим HttpWebRequest
для работы с веб-сервером в Linux см.:
http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.aspx[^],
http://msdn.microsoft.com/en-us/library/system.net.webrequest.aspx[^] (см. пример кода).
Существует целый ряд других вариантов. Например, вы можете реализовать веб-сервис в Linux, который будет использовать soap:
http://en.wikipedia.org/wiki/Web_Service[^],
http://en.wikipedia.org/wiki/SOAP[^].
Бережливое решение может использовать необработанные сокеты как со стороны, так и нативное Программирование со стороны Linux, предположительно C++, но поддержка его (реализация идентичного протокола прикладного уровня) может быть более сложной, то есть обе части являются CLR.
—СА
mmdullah
Спасибо за ваше техническое объяснение. Да, я новичок в linux. но мне нужно сделать это быстро.
Тем временем я изучил ActiveSocket, который соответствует вашему предложению.
Не могли бы вы взглянуть на это, и вы думаете, что это послужит моей цели?
ссылка: http://www.activexperts.com/network-component/howto/ssh/vcnet/
и руководство пользователя: http://www.activexperts.com/files/network-component/manual.htm#Ssh
Sergey Alexandrovich Kryukov
Активы? Я не знаю, никогда не пробовал, как библиотеки связаны .Сеть работала достаточно хорошо для меня до сих пор; я не люблю использовать какие-либо сторонние коды, если это абсолютно неизбежно. Это может помочь вам на стороне .NET, но я понятия не имею, как насчет Linux.
Если вы действительно Новичок в Linux, но имеете некоторый опыт работы с .NET, установите Mono на Linux, он достаточно надежен, чтобы запускать многие из них .Сетевые приложения на Linux. Таким образом, вам не нужно будет выполнять двойную работу: одну для Linux, другую для .Сеть и преодоление многих потенциальных проблем совместимости. Mono way будет самым быстрым во всех случаях, с ActiveSockets или нет.
Удачи,
--СА