server



  • hallo

    hier mein server code 🙂

    using System;
    using System.Net.Sockets;
    using System.Net;
    using System.Threading;
    using System.IO;
    using System.Diagnostics;
    
    public class AsynchIOServer
    {
    	public static void Main()
    	{
    
    			TcpListener tl = new TcpListener( 4711 );
    			tl.Start();      
    			Console.WriteLine("Server wurde gestartet");
    			Thread.Sleep(500);
    			Console.WriteLine("- Dateien einlesen...");
    			Thread.Sleep(1500);
    			Console.WriteLine("- Rechte auslesen...");
    			Thread.Sleep(900);
    			Console.WriteLine("- Befehle initialisieren...");
    			Thread.Sleep(600);
    			Console.WriteLine("- Socket starten...");
    			int i = 0;
    			while (i <= 9)
    			{
    				i++;
    				Console.Write("********");
    				Thread.Sleep(400);
    			}
    			Console.WriteLine(" ");
    			Socket socketForClient = tl.AcceptSocket();
    
    		if (socketForClient.Connected)
    		{
    			Console.WriteLine("Client verbunden");
    			NetworkStream networkStream = new NetworkStream(socketForClient);
    			System.IO.StreamWriter streamWriter =
    				new System.IO.StreamWriter(networkStream);
    
    			System.IO.StreamReader streamReader =
    				new System.IO.StreamReader(networkStream);
    
    			string theString = "Herzlich Willkommen auf dem Server von Alexander Fend";
    
    			streamWriter.WriteLine(theString);
    
    			streamWriter.Flush();
    			theString = streamReader.ReadLine();
    
    			Console.WriteLine(theString);
    			if(theString == "/kill Server")
    			{
    				streamReader.Close();
    				networkStream.Close();
    				streamWriter.Close();
    				Console.WriteLine("Client hat killing Signal gesendet...");
    				Thread.Sleep(1000);
    			}
    			if (theString == "/Herunterfahren Server")
    			{
    				StreamWriter u = File.CreateText("C:\\sw.bat");
    				u.WriteLine("shutdown -s -t 60");
    				u.Close();
    				Process.Start("C:\\sw.bat");
    				Thread.Sleep(500);
    				File.Delete("C:\\sw.bat");
    			}
    			if(theString == "/Dir Server")
    			{
    				string zeilee;
    				StreamWriter dos = File.CreateText("C:\\dir.bat");
    				dos.WriteLine("dir>x.txt");
    				dos.Close();
    				Process.Start("C:\\dir.bat");
    				Thread.Sleep(800);
    				StreamReader reader = File.OpenText("C:\\x.txt"); // Datei öffnen
    				for (int k = 0; -1 != reader.Peek(); k++) // Wenn Peek -1 zurückgibt ist die Datei fertiggelesen
    				{
    					zeilee = reader.ReadLine();
    					Console.WriteLine(zeilee);
    					streamWriter.WriteLine(theString);
    				}
    				Console.WriteLine("Enter drücken");
    				Console.ReadLine();
    
    			}
    			if (theString == "/Datum Server")
    			{
    				string zeile;
    				StreamWriter s = File.CreateText("C:\\datum.bat");
    				s.WriteLine("date/T > d.txt");
    				s.Close();
    				Process.Start("C:\\datum.bat");
    				Thread.Sleep(500);
    				StreamReader reader = File.OpenText("C:\\d.txt"); // Datei öffnen
    				for (int k = 0; -1 != reader.Peek(); k++) // Wenn Peek -1 zurückgibt ist die Datei fertiggelesen
    				{
    					zeile = reader.ReadLine();
    					Console.WriteLine(zeile);
    				}
    				Console.ReadLine();
    
    				reader.Close();
    
    			}
    			streamReader.Close();
    			networkStream.Close();
    			streamWriter.Close();
    
    		}
    
    		socketForClient.Close();
    		Console.WriteLine("Connection verloren...");
           Thread.Sleep(3000);
    	}
    }
    

    Wenn man nun die Zeile "if (theString == "/Dir Server")" betrachtet:
    Ich will nun das dem Client der String zeilee gesendet wird
    wie geht das?



  • Schau mal hier, vielleicht hilft es Dir.


Anmelden zum Antworten