AllRoundPCManager v2.0

    • VB.NET

    Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von nikeee13.

      AllRoundPCManager v2.0

      Ich habe nun den AllRoundPCManager etwas weiterentwickelt. Alles läuft nun über TCP/IP.
      Hier der Server:

      VB.NET-Quellcode

      1. Option Strict On 'Damit das Programm schneller und besser läuft, siehe: http://vcware.de/option_strict.php
      2. Imports System.Net.Sockets
      3. Imports System.IO
      4. Imports System.Net
      5. Public Class Form1
      6. 'Code by VCJunk von VB-Paradise.de
      7. 'Homepage:http://www.VCJunk.de
      8. 'E-Mail:Admin@VCJunk.de
      9. 'Dieser Code ist ein ähnlicher Code wie http://www.vb-paradise.de/allgemeines/sourcecode-austausch/22162-simples-funktionierendes-beispiel-einer-tcp-ip-verbindung-zwischen-zwei-rechnern/
      10. 'doch er wurde als ein Empfänger für ein Interface angepasst.
      11. 'Dieser Code darf frei verwendet werden, ohne die Erlaubnis des Autors.
      12. 'Viel Spaß mit dem Code.
      13. Dim stream As NetworkStream 'Stream
      14. Dim streamw As StreamWriter 'Streamwriter
      15. Dim streamr As StreamReader 'Streamreader
      16. Dim server As TcpListener 'Server
      17. Dim client As New TcpClient 'Client
      18. Dim ipendpoint As IPEndPoint = New IPEndPoint(IPAddress.Any, 8000) 'TCP/IP Verbindung über Port 8000
      19. Dim t As New Threading.Thread(AddressOf Main)
      20. Sub Main()
      21. Try
      22. server = New TcpListener(ipendpoint)
      23. server.Start() 'Server starten
      24. client = server.AcceptTcpClient
      25. stream = client.GetStream
      26. streamr = New StreamReader(stream) 'Streamreader zuweisen
      27. streamw = New StreamWriter(stream) 'Streamwriter zuweisen
      28. While True
      29. If streamr.ReadLine = "Befehl1" = True Then 'Wenn empfangener Befehl = Befehl1 dann:
      30. 'Befehl1 ausführen
      31. ElseIf streamr.ReadLine = "Befehl2" = True Then 'Wenn empfangener Befehl = Befehl1 dann:
      32. 'Befehl2 ausführen
      33. End If
      34. End While
      35. Catch
      36. End Try
      37. End Sub
      38. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      39. t.Start() 'Wenn Programm startet, dann Server starten
      40. End Sub
      41. End Class

      Als Empfänger reicht er, natürlich kann man ihn noch ausbauen, z.B. dass er jeden Empfangenen Befehl in eine Datenbank einträgt.
      Und damit du aus dem Internet Befehle an das Programm senden kannst, ist hier der Code des Clienten:

      PHP-Quellcode

      1. <?php
      2. $errno = NULL;
      3. $error = NULL;
      4. if (!$handle = @fsockopen("127.0.0.1", "8000", $errno, $error, 10))
      5. {
      6. die("Fehler (".$errno."): ".$error);
      7. }
      8. fwrite($handle, "Befehl1\r\n");
      9. fclose($handle);
      10. echo 'Befehl gesendet!';
      11. ?>

      127.0.0.1 musst du durch deine IP ersetzen, damit dein Programm die Befehle empfangen kann.
      und bei

      PHP-Quellcode

      1. fwrite($handle, "Befehl1\r\n");

      Musst du Befehl1 durch den jeweiligen Befehl ersetzen. Das \r\n muss aber bestehen bleiben!

      Ich hoffe damit könnt ihr wieder einen neuen AllRoundPCManager erstellen, vielleicht sehe ich ja mal einen im Showroom.
      Ich wünsche euch damit noch viel spaß!

      Projektmappe ( VB 2008 ): Hier
      Passwort fürs Archiv:vb-paradise

      Load-soft.ch.vu schrieb:

      Hi,
      Hab da ne frage^^
      Ist es möglich diesen Code so umzubauen, dass sozusagen der PHP Script der Server ist? Dann müsste ich mir nicht immer ein VServer suchen.
      Mfg
      Loadsoft



      Hi,

      nein es ist nicht möglich. Wenn der PHP-Code abgearbeitet worden ist, ist er eigentlich verschwunden. Der Server muss aber immer online sein um Befehle zu empfangen und nicht nur online gehen wenn er spürt, dass Befehle geschickt werden.


      Grüsse,

      viperkill
      @VCJunk
      Hast du eventuell eine Source wie man den Befehl (der normal das php script senden) in einer WindowsFormsAnwendung machen kann ? (wolte es so machen das ich eine Textbox für die Ip mache und eine für den Befehl dann noch einen Button für das Senden ,nur weiß ich leider nicht wie ich dies machen soll ,bin auch recht neu in sache vb.net)
      user/5574-vcjunk/
      Hey. Super Sache kann ich nur sagen.
      Ich habe vor kurzem eine Anwendung mit ähnlicher Vorgangsweise gemacht. Desshalb empfehle ich noch folgendes.

      So mehr Codes man lernt und so mehr man programmieren kann, desto mehr Dinge fallen einem auch noch ein die man gerne steuern bzw auslesen möchte. Deswegen empfehle ich unbedingt ein unsichtbares Update damit dein Partner Programm immer auf dem neusten Stand ist! :thumbsup:

      LG