C# Network Client Server
Sigurno će nam zatrebati veza Client Server preko mreže, pa evo najjednostavnija varijanta koja radi u command promptu…
Pokrenuti Visual studio.Net. Select File -> New Project Odabrati Visual C# odabrati Console Application.
Nazovite Server stranu kako god i iskopirajte ovaj kod..
using System; using System.Text; using System.Net.Sockets; using System.Net; namespace Server { class ServerSocket { static void Main(string[] args) { TcpListener l = new TcpListener(1000); // listens on port number 1000 l.Start(); // start listener Console.WriteLine("Server has started.Waiting for clients..."); while (true) { TcpClient c = l.AcceptTcpClient(); // wait for client to make request NetworkStream ns = c.GetStream(); // access steam to send data to client. string st = DateTime.Now.ToLongDateString(); // get system date and convert it to string byte[] buf = System.Text.Encoding.ASCII.GetBytes(st); // convert string to an array of bytes ns.Write(buf, 0, st.Length); // write to stream } } // Main() } // end of class } // end of namespace
Iskompajliramo i spremimo negdje exe file
otvorimo novi projekt za klijent stranu sve isto kao i za server…
i iskopiramo ovaj kod…
using System; using System.Collections.Generic; using System.Text; using System.Net.Sockets; namespace Client { class ClientSocket { static void Main(string[] args) { // connect to server running on localhost at port no. 1000 TcpClient c = new TcpClient("localhost", 1000); NetworkStream ns = c.GetStream(); // get stream byte[] buf = new byte[100]; // create byte array to receive data ns.Read(buf, 0, 100); // read data from stream into byte array string st = System.Text.Encoding.ASCII.GetString(buf); // convert byte array to string Console.WriteLine(st); while (true){ } } } }
Nakon što pokrenemo server on će čekati da se na njega spoji neki klijent, nakon spajanja on će uzeti današnji datum i poslati klijentu.
klijent će samo taj datum ispisati u konzolu.Da bi vidjeli ispis na client strani stavili smo beskonačni loop na kraju.
Obavezno otvoriti port 1000, ali windowsi bi sami trebali pitati da li želimo otvoriti port.
Naravno stisnemo unblock
Ako sve radi ok trebali bi dobiti nešto ovako
Još malo i možemo kreirati aplikaciju koja će preko mreže paliti led diode na arduinu :)