Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Program
- {
- static void Main(string[] args)
- {
- var endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 4567);
- var listener = new TcpListener(endPoint);
- listener.Start();
- AcceptTcpClient(listener);
- while (true)
- {
- }
- }
- public static void AcceptTcpClient(TcpListener listener)
- {
- listener.BeginAcceptTcpClient(ClientConnected, listener);
- }
- public static void ClientConnected(IAsyncResult asyncResult)
- {
- var listener = (TcpListener)asyncResult.AsyncState;
- var client = listener.EndAcceptTcpClient(asyncResult);
- AcceptTcpClient(listener);
- DoAsync(client);
- }
- }
- class Program1
- {
- private static readonly AutoResetEvent CONNECTION_WAIT_HANDLE = new AutoResetEvent(false);
- static void Main(string[] args)
- {
- var endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 4567);
- var listener = new TcpListener(endPoint);
- listener.Start();
- while (true)
- {
- listener.BeginAcceptTcpClient(ClientConnectedHandle, listener);
- CONNECTION_WAIT_HANDLE.WaitOne();
- CONNECTION_WAIT_HANDLE.Reset();
- }
- }
- public static void ClientConnectedHandle(IAsyncResult asyncResult)
- {
- var listener = (TcpListener)asyncResult.AsyncState;
- var client = listener.EndAcceptTcpClient(asyncResult);
- CONNECTION_WAIT_HANDLE.Set();
- DoAsync(client);
- }
- }
- class Program2
- {
- static async Task Main(string[] args)
- {
- var endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 4567);
- var listener = new TcpListener(endPoint);
- listener.Start();
- while (true)
- {
- var client = await listener.AcceptTcpClientAsync();
- DoAsync(client);
- }
- }
- public static void AcceptTcpClient(TcpListener listener)
- {
- listener.BeginAcceptTcpClient(ClientConnected, listener);
- }
- public static void ClientConnected(IAsyncResult asyncResult)
- {
- var listener = (TcpListener)asyncResult.AsyncState;
- var client = listener.EndAcceptTcpClient(asyncResult);
- AcceptTcpClient(listener);
- DoAsync(client);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement