기술자료/C#
C# 소켓 억셉트 Socket Asynchronous Accept 초간단 소스
와이즈캣
2021. 9. 15. 16:40
728x90
반응형
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
namespace Network_Async_Test
{
class Program
{
static void Main(string[] args)
{
Socket aSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
aSocket.Bind(new IPEndPoint(0, 5000));
aSocket.Listen(5);
aSocket.BeginAccept(new AsyncCallback(Jue_Listen), aSocket);
while (true)
{
Console.Write(".");
Thread.Sleep(500);
}
}
static void Jue_Listen(IAsyncResult aIAsyncResult)
{
Console.WriteLine("게스트 접속");
Socket aSocket = (Socket)(aIAsyncResult.AsyncState);
Socket aClient = aSocket.EndAccept(aIAsyncResult);
byte[] Tempdata = Encoding.UTF8.GetBytes("Apple\n\r");
aClient.Send(Tempdata, Tempdata.Length, SocketFlags.None);
aClient.Receive(Tempdata, Tempdata.Length, SocketFlags.None);
aClient.Close();
aSocket.BeginAccept(new AsyncCallback(Jue_Listen), aSocket);
}
}
}
Program.cs
0.00MB
Tested By VS2019
비동기 서버 소켓 예제
이 예제 .NET Framework 프로그램에서는 비동기 소켓을 사용하여 클라이언트에서 연결을 수신하는 서버를 만듭니다. 문자열을 수신하고 에코합니다.
docs.microsoft.com
728x90