Отправка запросов другому приложению.ГЕТ, или как? - 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);
}
}