Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.59 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Net;
  7. using System.Net.Sockets;
  8. using System.Diagnostics;
  9.  
  10.  
  11. namespace Server
  12. {
  13.     class Program
  14.     {
  15.         public class AsyncServer
  16.         {
  17.             private Socket Server , Client;
  18.             private byte[] buffer;
  19.             public AsyncServer()
  20.             {
  21.                 string path = @"Path to Client";
  22.                 Process.Start(path);
  23.                 StartServer();
  24.                
  25.             }
  26.  
  27.             private void StartServer()
  28.             {
  29.                 try
  30.                 {
  31.                     Server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
  32.                     Server.Bind(new IPEndPoint(IPAddress.Any, 1111));
  33.                     Server.Listen(3);
  34.                     Console.WriteLine("Check");
  35.                     Console.ReadKey();
  36.                     Server.BeginAccept(new AsyncCallback(AcceptCallBack), null);
  37.                 }
  38.                 catch (Exception ex)
  39.                 {
  40.                     Console.WriteLine(ex.ToString());
  41.                 }
  42.             }
  43.             private void AcceptCallBack(IAsyncResult AR)
  44.             {
  45.                 try
  46.                 {
  47.                     Client = Server.EndAccept(AR);
  48.                     Console.WriteLine("Connected");
  49.                     buffer = new byte[Client.ReceiveBufferSize];
  50.                     Client.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(RecieveCallBack), null);
  51.                 }
  52.                 catch (Exception ex)
  53.                 {
  54.                     Console.WriteLine(ex.ToString());
  55.  
  56.                 }
  57.             }
  58.  
  59.             private void RecieveCallBack(IAsyncResult AR)
  60.             {
  61.                 try
  62.                 {
  63.                     int recieve = Client.EndReceive(AR);
  64.                     Array.Resize(ref buffer, recieve);
  65.                     string text = Encoding.ASCII.GetString(buffer);
  66.                     Array.Resize(ref buffer, Client.ReceiveBufferSize);
  67.                     Console.WriteLine(text);
  68.                     Client.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(AcceptCallBack), null);
  69.  
  70.                 }
  71.                 catch (Exception ex)
  72.                 {
  73.                     Console.WriteLine(ex.ToString());
  74.                 }
  75.             }
  76.         }
  77.        
  78.         static void Main(string[] args)
  79.         {
  80.             AsyncServer AS = new AsyncServer();
  81.         }
  82.     }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement