Zdalne wyłączanie komputera

0

Witam, chciałbym napisać możliwie najprostszy program do zdalnego wyłączenia komputera. A że nie wiele znam ASP więc potrzebuję trochę pomocy. Napisałem sobie prosty program typu klient serwer z pomocą M$ jak i paru artykułów :)

public ClientForm()
        {
            InitializeComponent();
        }
        Socket clientSocket;
        private void connectToolStripMenuItem_Click(object sender, EventArgs e)
        {
            clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            clientSocket.Connect("192.168.1.4", 80);
            

        }

        private void SendButton_Click(object sender, EventArgs e)
        {
             byte[] bufor = Encoding. ASCII.GetBytes(sendTextBox.Text);

             clientSocket.Send(bufor);
        }
  public ServerForm()
        {
            InitializeComponent();
        }
        
        Socket serverSocket;
        private void startToolStripMenuItem_Click(object sender, EventArgs e)
        {
             IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
               IPAddress ipAddress = ipHostInfo.AddressList[0];
                 IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 80);

        // Create a TCP/IP socket.
         serverSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp );

       
            serverSocket.Bind(localEndPoint);
            serverSocket.Listen(80);

          
                Socket handler = serverSocket.Accept();
                listBox1.Items.Add(handler.RemoteEndPoint.ToString());
          byte [] bytes = new byte[1024];
          int bytesRec = handler.Receive(bytes);

          richTextBox1.AppendText( Encoding.ASCII.GetString(bytes, 0, bytesRec) );

        }

będę wdzięczny za jakąkolwiek pomoc :-)

0

A chcesz wyłączyć serwer czy klienta? Samo wyłączenie komputera to:

System.Diagnostics.Process.Start("ShutDown", "/s")
0

serwer, wylaczyc chce serwer :) najprostsze wylaczanie na swiecie :) wyłączam firewalla i różne inne zabawki i ma działać :)

0

Zakładam że samo przesłanie tekstu działało.

  public ServerForm()
        {
            InitializeComponent();
        }
        
        Socket serverSocket;
        private void startToolStripMenuItem_Click(object sender, EventArgs e)
        {
             IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
               IPAddress ipAddress = ipHostInfo.AddressList[0];
                 IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 80);

        // Create a TCP/IP socket.
         serverSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp );

       
            serverSocket.Bind(localEndPoint);
            serverSocket.Listen(80);

          
                Socket handler = serverSocket.Accept();
                listBox1.Items.Add(handler.RemoteEndPoint.ToString());
          byte [] bytes = new byte[1024];
          int bytesRec = handler.Receive(bytes);
          string text = Encoding.ASCII.GetString(bytes, 0, bytesRec);
          richTextBox1.AppendText( Encoding.ASCII.GetString(text) );
          if(text == "wylacz")
          System.Diagnostics.Process.Start("ShutDown", "/s");

        }

W kliencie wpisz wyłącz i powinno wyłączyć serwer.

0

Error 2 The best overloaded method match for 'System.Text.Encoding.GetString(byte[])' has some invalid arguments

Error 3 Argument '1': cannot convert from 'string' to 'byte[]'

otrzymałem takie dwa błędy

0

i jeszcze jedno, jak zrobić zeby po naciśnięciu buttona, wyskakiwało mi okienko z powiadomieniem czy na pewno chcesz to zrobić do wyboru będzie OK lub Anuluj, i dopiero wtedy po naciśnięciu OK się wyłączy ?

oraz jeszcze coś :-P nie dałoby się tak zrobić żeby wysłać takie coś do serwera zamiast tekstu ?

 private void button1_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start("ShutDown", "/s");
        }

?

1

if (messageBox.Show("blablabla" == DialogResult.OK) ;//...
else ; /...

0

Wpisz w wierszu poleceń u siebie "shutdown /s /m ip_serwera" i tyle.

1 użytkowników online, w tym zalogowanych: 0, gości: 1