Autor Beitrag
pixelport
Hält's aus hier
Beiträge: 13
Erhaltene Danke: 3



BeitragVerfasst: Mo 01.08.11 16:14 
Ich suche eine Möglichkeit das ein php Webserver weis ob auf einem bestimmten PC gerade ein bestimmtes C# Programm läuft.
Ich habe erst darüber Nachgedacht das der Server das Aktuelle Datum und die aktuelle Zeit sendet und diese dann mit der Zeit des PHP Servers verglichen wird. Wäre es möglich dies irgendwie bequemer zu tun?

Über Antworten würde ich mich trotz meiner komplexen Frage sehr freuen. :-)
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Mo 01.08.11 18:59 
Grundsätzlich gibt es zwei Möglichkeiten: Entweder kontaktiert der PHP-Server dein C#-Programm, oder anders herum. Im ersten Fall startet das C#-Programm einen TCP-Server und PHP eine baut eine Verbindung auf. Im Router muss dann eine Protfreigabe eingerichtet werden, damit das C#-Programm den Server starten kann.

Anders herum ist es einfacher: Das C#-Programm sendet eine HTTP-Anfrage an den PHP-Server und sagt ihm, dass es läuft. Auf dem PHP-Server liegt einfach eine Datei, die diese Bestätigung in Empfang nimmt - und am besten noch ein mitgesendetes Passwort überprüft, damit nicht jeder vorgeben kann, das Programm liefe.

Alles ist mit .NET-Bordmitteln und ein paar PHP-Codeschnipseln aus dem Internet und vor allem php.net machbar.

Für diesen Beitrag haben gedankt: pixelport
Oliver M.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 109
Erhaltene Danke: 1

Win 8 CP
VS 11 Beta
BeitragVerfasst: Mo 01.08.11 19:22 
Hmmm... Es gibt noch eine Möglichkeit, aber dafür braucht man, wenn man sich nicht als Hacker betätigt, spezielle Rechte: man macht es so wie Visual Studios im Server-Explorer. Damit kannst du nämlich, wenn du die Rechte hast und auf dem Zielcomputer angemeldet bist, gans Easy die laufenden Prozesse auslesen. Das kannst du in deinem Programm genauso machen; und ich wette das klappt mit 100% .NET-Unterstützung ;)
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Mo 01.08.11 20:16 
user profile iconOliver M. hat folgendes geschrieben Zum zitierten Posting springen:
Das kannst du in deinem Programm genauso machen; und ich wette das klappt mit 100% .NET-Unterstützung ;)

Er will aber mit PHP prüfen, ob das C#-Programm läuft. Und mit PHP wird es nicht so einfach sein, sich mal schnell mit einem Windows-Rechner zu verbinden.
Oliver M.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 109
Erhaltene Danke: 1

Win 8 CP
VS 11 Beta
BeitragVerfasst: Mo 01.08.11 20:20 
user profile iconYogu hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconOliver M. hat folgendes geschrieben Zum zitierten Posting springen:
Das kannst du in deinem Programm genauso machen; und ich wette das klappt mit 100% .NET-Unterstützung ;)

Er will aber mit PHP prüfen, ob das C#-Programm läuft. Und mit PHP wird es nicht so einfach sein, sich mal schnell mit einem Windows-Rechner zu verbinden.

Meinst du? Weis nicht. :nixweiss: Remote? Get das nicht? :gruebel:

Windows-Rechner? Das geht doch auch mit einem Apfel :gruebel:
pixelport Threadstarter
Hält's aus hier
Beiträge: 13
Erhaltene Danke: 3



BeitragVerfasst: Mo 01.08.11 20:43 
Vielen Dank für eure Antworten. Ein einfacher HTTP Request ist mir auch schon in den Sinn gekommen. Aber ich muss trotzdem immer noch einen Zeit Stempel mitsenden. Wäre es nicht möglich das der PHP Server das C# Programm anpingt?

Vielen Dank

Moderiert von user profile iconNarses: 2. Frage entfernt.
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Di 02.08.11 00:01 
[quote="user profile iconpixelport"(646829)]Wäre es nicht möglich das der PHP Server das C# Programm anpingt?
Das geht, habe ich doch geschrieben:

user profile iconYogu hat folgendes geschrieben Zum zitierten Posting springen:
Grundsätzlich gibt es zwei Möglichkeiten: Entweder kontaktiert der PHP-Server dein C#-Programm, oder anders herum. Im ersten Fall startet das C#-Programm einen TCP-Server und PHP eine baut eine Verbindung auf. Im Router muss dann eine Protfreigabe eingerichtet werden, damit das C#-Programm den Server starten kann.

Was du brauchst, sind also eine Portfreigabe im Router, die Klasse TcpListener in C# und die Funktion fsockopen in PHP. Im einfachsten Fall schaust du einfach nur, ob die Verbindung zustande kommt.