- 1.6버전과 2.0버전이 있다. 2.0버전은 아직 개발중이다. 1.6버전에서 Core는 사용할 수 없지만, 사용할 수 있게 포팅해놓은 프로젝트가 있다(Supersocket lite)
- 오픈소스 치고는 자료가 잘 정리되어있는 것 같지만 의외로 예제가 많이 없다.
- 멀티 쓰레드 방식은 많은 수의 클라이언트를 처리하기에는 적합하지 않다.
- 고성능 처리를 위해서는 비동기 I/O를 사용해야한다.
supersocket 콘솔 예제
서버, 클라이언트 프로젝트 모두 코어버전 콘솔 프로젝트를 생성한다.

nuget에서 supersocketlite를 받는다.
Server Program.cs
using SuperSocketServer;
var server = new MainServer();
server.InitConfig();
server.CreateServer();
var IsResult = server.Start();
if (IsResult)
{
Console.WriteLine("서버 네트워크 시작");
}
else
{
Console.WriteLine("[ERROR] 서버 네트워크 시작 실패");
return;
}
while (Console.ReadKey().KeyChar != 'q')
{
Console.WriteLine();
continue;
}
server.Stop();
MainServer.cs, PacketData.cs, ReceiveFilter.cs는 이 프로젝트에서 가져온다.
Client Program.cs
using SuperSocketClient;
ClientSocket socket = new ClientSocket();
var address = "127.0.0.1";
int port = 11021;
if (socket.conn(address, port))
{
Console.WriteLine($"{DateTime.Now}. 서버에 접속 성공");
}
else
{
Console.WriteLine($"{DateTime.Now} 서버에 접속 실패");
}
while (Console.ReadKey().KeyChar != 'q')
{
Console.WriteLine();
continue;
}
다하고보니 supersocket lite 예제에 콘솔 예제가 있네...
우선 다 실행해봐야겠다.
참고
SuperSocketLite/Tutorials at master · jacking75/SuperSocketLite (github.com)
'C#' 카테고리의 다른 글
| Serilog 로그 설정 (0) | 2024.05.19 |
|---|---|
| [WorkerService] 윈도우 서비스 등록하기 (0) | 2024.04.22 |
| [WorkerService] Quartz 사용하기 (0) | 2024.04.18 |
| C# 기본 이론 정리 (0) | 2023.01.11 |