Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

C#: 2 Computer; 2 Programme; ein Netzwerk - Daten übermitteln??

Hallo Freunde ;)

Ich hab mal wieder eine völlig verrücke Idee.
Ich will ein Programm entwerfen, mit dem ich z.B die Lautstärke von einem Pc im Netzwerk von einem anderen aus regeln kann. (Natürlich ohne Remotedesktop!)

Wie aber kann ich (welche?) Daten über LAN senden und an empfangen? Kann man da irgendwas mit "net send" usw. machen?

Grüße
Computerchamp


Antworten zu C#: 2 Computer; 2 Programme; ein Netzwerk - Daten übermitteln??:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Würde mich wundern, wenn man da was machen könnte. Ohne ein Programm auf dem Zielrechner, welches die Befehle entgegennimmt und dann lokal ausführt wird nicht viel möglich sein fürchte ich.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Jaja!
Ich will ja zwei Programme erstellen; eines für den Server und eines für den Client.
So etwa:

Beispiel Server
TcpListener tcpListener=new TcpListener(<portNumber>);
tcpListener.Start(); // Start: bind + listen
// Verbindungsanforderungen werden jetzt überwacht
TcpClient tcpClient=tcpListener.AcceptTcpClient();
// akzeptiere ausstehende Verbindungsanforderung.
NetworkStream networkStream=tcpClient.GetStream();
string respString= "Hallo Client";
Byte[] sendBytes=Encoding.ASCII.GetBytes(respString);
networkStream.Write(sendBytes, 0,sendBytes.Length);
tcpClient.Close(); // Ressourcen freigeben!
tcpListener.Stop();

Beispiel Client
TcpClient tcpClient=new TcpClient();
tcpClient.Connect(<hostName>, <portNumber>);
NetworkStream nwStream=tcpClient.GetStream();
string sendString= "Hallo Server";
Byte[]sendBytes=Encoding.ASCII.GetBytes(sendString);
nwStream.Write(sendBytes, 0,sendBytes.Length);
// Antwort in Buffer lesen
byte[] b =new byte[tcpClient.ReceiveBufferSize];
nwStream.Read(b, 0, (int)tcpClient.ReceiveBufferSize);
string returndata=Encoding.ASCII.GetString(bytes);
tcpClient.Close()

von http://wwwspies.informatik.tu-muenchen.de/lehre/praktika/WS0304/progprakt_csharp/Folie06.pdf

Aber wie kann ich daraus etwa 100 verschiedene "Befehle" ausarbeiten (vllt durch ändern des SendSting?)?

Danke für die Antwort

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Klar. Du kannst ja statt "Hallo Client" auch "Mach lauter" senden. Der Client müsste das dann interpretieren und den Befehl entsprechend ausführen.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

WMI ist auch ziemlich mächtig. Damit gehen bestimmt auch solche Sachen, vorausgesetzt Du hast die nötigen Rechte.
Siehe dazu auch WMI bei Wikipedia

Ansonsten wie schon angesprochen: Zwei Dienste, die auf den entsprechenden Rechnern installiert sind. Einer lauscht und der andere sendet irgendwas. Der lauschende reagiert dann auf ein bestimmtes Signal und macht irgendwas. Da wirst Du dann clientseitig aber vermutlich auch nicht an WMI vorbei kommen um an die Systemeinstellungen ranzukommen.
Zur Client-Server-Kommunikation ist das vielleicht auch hilfreich: [Tutorial] Client-/Server-Komponente über TCP-Sockets


« doppelte Dateien mit Batch oder VB finden veränder/umprogrammieren eines Skins des VLC-Player...? »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Internet-Zugriffsprogramm
Ein Internet-Zugriffsprogramm, auch Browser genannt, stellt Internetseiten für den Benutzer dar. Am bekanntesten ist der Microsoft Internet Explorer, gefolgt vom kos...

Programm
Siehe Software...

Client Server Netzwerk
Bei einem Client-Server-Netzwerk, beziehungsweise Client-Server-Modell, handelt es sich um eine Möglichkeit, Aufgaben und Dienstleistungen innerhalb eines Netzwerkes...