Отправка запросов другому приложению.ГЕТ, или как? - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет ув.Программисты) Собственно пишу приложение которое будет находится у конечного пользователя. Точнее на ПК в офисе Само приложение получает изображение с камер. Точнее снимает. И отправляет на мой файловый сервер. Собственно. Пишу второе приложение которое далжно передать команду тому. Что бы то приложение начинало сьемку. Или останавливала. Моя идея реализации: Создаю простую формачку,на ней кнопачку, на нее кидаю get запрос к файлу obrabotchik.php и передаю ему переменную s=1 . Он в свою очередь передает тому приложению эту переменную. И если в том приложении g=1 то начинается сьемка. Заморочка в том что как получать другим приложением эту переменную?. постоянно делать запросы? или как? может есть какойто другой более рациональный способ решения данной задачи? Был бы очень благодарен за помощь. p.s/ почему я решил делать через php? во первых потому что друго го способа я не вижу) во вторых. я не хочу замарачиваться со своим роутером. Дело в том что у меня ПК подключен к сети в которой 3 пк. и все они идут к одному роутеру(маршрутизатору) А в него идет интернет (так сказать кабель от модема) поэтому я постоянно не могу напрямую передать запрос на другой пк. То парты закрыты то еще что нибуть. Вообщем ужас...

Решение задачи: «Отправка запросов другому приложению.ГЕТ, или как?»

textual
Листинг программы
public partial class Form1 : Form
    {
        private Thread t;
        public Form1()
        {
            InitializeComponent();
            t = new Thread(start);
            t.Start();
        }
        public void start()
        {
            try
            {
                Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                IPEndPoint ip = new IPEndPoint(IPAddress.Any, 22334);
                listener.Bind(ip);
                listener.Listen(10);
 
                while (true)
                {
                    Socket sock = listener.Accept();
                    int receivedBytes = 0;
                    byte[] buf = new byte[4];
 
                    while (receivedBytes != 4)
                    {
                        receivedBytes += sock.Receive(buf);
                    }
 
                    int size = BitConverter.ToInt32(buf, 0);
                    buf = new byte[size];
                    receivedBytes = 0;
 
                    while (receivedBytes != size)
                    {
                        receivedBytes += sock.Receive(buf);
                    }
 
                    string msg = Encoding.Unicode.GetString(buf);
                    MessageBox.Show(msg, "Server");
                    sock.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
 
        }
        protected override void OnClosing(CancelEventArgs e)
        {
            if (t != null)
                t.Abort();
            base.OnClosing(e);
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.615 из 5
Похожие ответы