Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Net.Sockets;
- using System.Threading;
- using System.Net;
- namespace ConsoleApplication1
- {
- class Program
- {
- public static Object thisLock = new object();
- static void Main(string[] args)
- {
- ThreadPool.QueueUserWorkItem(ThreadSerwer);
- ThreadPool.QueueUserWorkItem(ThreadKlient);
- ThreadPool.QueueUserWorkItem(ThreadKlient);
- Thread.Sleep(1000);
- Console.ReadLine();
- }
- static void ThreadProc(object stateInfo)
- {
- Thread.Sleep((int)stateInfo);
- Console.WriteLine(stateInfo);
- }
- static void ThreadSerwer(object stateInfo)
- {
- TcpListener server = new TcpListener(IPAddress.Any, 2048);
- server.Start();
- while (true)
- {
- TcpClient client = server.AcceptTcpClient();
- ThreadPool.QueueUserWorkItem(ThreadConnection);
- byte[] buffer = new byte[1024];
- client.GetStream().Read(buffer, 0, 1024);
- client.GetStream().Write(buffer, 0, buffer.Length);
- string result = Encoding.UTF8.GetString(buffer);
- writeConsoleMessage("Serwer: " + result, ConsoleColor.Red);
- }
- }
- static void ThreadKlient(object stateInfo)
- {
- TcpClient client = new TcpClient();
- client.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 2048));
- byte[] message = new ASCIIEncoding().GetBytes("wiadomosc");
- client.GetStream().Write(message, 0, message.Length);
- client.GetStream().Read(message, 0, message.Length);
- string result = Encoding.UTF8.GetString(message);
- writeConsoleMessage("Klient: " + result, ConsoleColor.Green);
- }
- static void ThreadConnection(object stateInfo)
- {
- }
- static void writeConsoleMessage(string message, ConsoleColor color)
- {
- lock (thisLock)
- {
- Console.ForegroundColor = color;
- Console.WriteLine(message);
- Console.ResetColor();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement