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;
- using System.Net.Sockets;
- using System.Diagnostics;
- namespace Server
- {
- class Program
- {
- public class AsyncServer
- {
- private Socket Server , Client;
- private byte[] buffer;
- public AsyncServer()
- {
- string path = @"Path to Client";
- Process.Start(path);
- StartServer();
- }
- private void StartServer()
- {
- try
- {
- Server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
- Server.Bind(new IPEndPoint(IPAddress.Any, 1111));
- Server.Listen(3);
- Console.WriteLine("Check");
- Console.ReadKey();
- Server.BeginAccept(new AsyncCallback(AcceptCallBack), null);
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.ToString());
- }
- }
- private void AcceptCallBack(IAsyncResult AR)
- {
- try
- {
- Client = Server.EndAccept(AR);
- Console.WriteLine("Connected");
- buffer = new byte[Client.ReceiveBufferSize];
- Client.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(RecieveCallBack), null);
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.ToString());
- }
- }
- private void RecieveCallBack(IAsyncResult AR)
- {
- try
- {
- int recieve = Client.EndReceive(AR);
- Array.Resize(ref buffer, recieve);
- string text = Encoding.ASCII.GetString(buffer);
- Array.Resize(ref buffer, Client.ReceiveBufferSize);
- Console.WriteLine(text);
- Client.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(AcceptCallBack), null);
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.ToString());
- }
- }
- }
- static void Main(string[] args)
- {
- AsyncServer AS = new AsyncServer();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement