public ClientUdp(System.Net.IPAddress address, int port) : base(address, port) { data = new byte[0]; // Adres IP i numer portu serwera. ipep = new IPEndPoint(this.Address, this.Port); // Ustanawiamy gniazdo typu datagramowego z wykorzystaniem protokołu UDP (klasa pomocnicza UdpClient). socket = new UdpClient(ipep.Address.ToString(), ipep.Port); // Nie musimy wywoływać metody Connect, ponieważ używamy konstruktora, który dba o kojarzenie gniazda z docelowym adresem i portem. // Inicjalizacja obiektu do obsługi wymiany komunikatów z serwerem. // Nadawany jest tutaj identyfikator sesji. server = new ServerHandler(Guid.NewGuid().ToString()); // Pomysł na uniwersalny identyfikator zaczerpnięty z https://stackoverflow.com/questions/11313205/generate-a-unique-id }
static void Main(string[] args) { TcpClient client = null; try { client = new TcpClient(); client.Connect("192.168.0.39", 5001); NetworkStream stream = client.GetStream(); Encoding encode = Encoding.GetEncoding("utf-8"); StreamWriter writer = new StreamWriter(stream, encode) { AutoFlush = true }; StreamReader reader = new StreamReader(stream, encode); ServerHandler serverHandler = new ServerHandler(reader); Thread t = new Thread(new ThreadStart(serverHandler.chat)); t.Start(); string dataToSend = Console.ReadLine(); while (true) { writer.WriteLine(dataToSend); if (dataToSend.IndexOf("<EOF>") > -1) { break; } dataToSend = Console.ReadLine(); } } catch (Exception e) { Console.WriteLine(e.ToString()); } finally { client.Close(); client = null; } }
public void Run() { ServerHandler Server = new ServerHandler(); Server.Run(); }