본문 바로가기
MagicOnion을 이용한 채팅 만들기 3 : 클라이언트 MagicOnion을 이용한 채팅 만들기 3 : 클라이언트MagicOnion/github를 보면클라이언트는 Unity로 구현되어 있다.Unity로 구현은 나중에 할 예정이라, 일단은 console 먼저 구현하겠다.1. 솔루션 -> 오른쪽 버튼 -> 새 프로젝트 추가  2. 콘솔 앱 생성, 이름  작성 나는  MagicOnionChatClient 로 만들었다. 3. 추가 정보 .NET 8.0 만들기  4. 프로젝트 추가 -  앞서 만들어놓은 Shared 프로젝트를 참조 추가 한다. 5. ChatHubReceiver 구현앞에서 만든 IChatHubReceiver를 구현한 ChatHubReceiver를 만들자.이 클래스는 서버로 부터 응답 혹은 요청이 왔을때 수신처리 하기 위한 클래스이다.  👩🏼‍💻 C.. 2024. 8. 9.
MagicOnion을 이용한 채팅 만들기 2 : Hub, Receiver MagicOnion을 이용한 채팅 만들기 2 : Hub, Receiver지난 글에 이어 서버 클라가 통신을 하기 위해 Hub, Receiver를 만들자. 1. 새 프로젝트 추가- 클래스 라이브러리 2. 이름 - Shared (자기 마음대로 하시면 됩니다! 저는 공유하는 프로젝트라 shared 라고 했어요) 3. 추가 정보 - .NET 8.0 만들기  4. TReceiver 추가 [TReceiver 설명]- MagicOnion에서 실시간 통신을 할 때 매우 중요한 역할을 하는 개념 - 주로 클라이언트 측에서 사용, 서버-> 클라이언트 데이터 푸시할 때 이를 수신하는 역할을 한다!- 클라이언트에서 특정 Hub와 연결될 때, 이 TReceiver 타입 객체가 생성됨, - 서버에서 발생하는 이벤트나 메시지를 .. 2024. 8. 9.
MagicOnion을 이용한 채팅 만들기 1 : Server MagicOnion을 이용한 채팅 만들기 1 : Server자 이제 개요를 알았으니 서버를 만들어보자. 기본적으로 MagicOnion/GitHub의 QuickStart를 보고 차근차근 만들것이다.  1. VisualStudio -> 새 프로젝트 만들기 -> Asp.Net Core 비어 있음 2. 프로젝트 이름 셋팅  3. 추가 정보 입력 - .NET 8.0 장기 지원 -  최상위 문 사용 안 함 - 만들기 클릭  4. 솔루션이 생성되면 F5 눌러서 디버그 모드로 실행, 이때 program.cs 코드 내용  👩🏼‍💻 program.csvar builder = WebApplication.CreateBuilder(args);var app = builder.Build();app.MapGet("/", () .. 2024. 8. 8.
MagicOnion - 개요 🧅 About MagicOnion MagicOnion이란? - MagicOnion은  SignalR 및 Socket.IO와 같은 양방향 실시간 통신 제공 - WCF 및 웹 기반 API와 같은 RPC 메커니즘을 제공- .NET 플랫폼을 위한 최신 RPC 프레임워크 - 이 프레임워크는 HTTP/2를 위한 빠르고 컴팩트한 바이너리 네트워크 전송인 gPRC를 기반으로함.- .ptoro(Protocal Buffers IDL)없이  C# 인터페이스를 프로토콜 스키마로 취급하여 C# 프로젝트간 코드 공유 가능 요구 사항서버 - NET 6.0 이상이 필요  클라이언트 - .NET 6.0 이상 - .NET 표준 2.1, 2.0-  Unity 2021.3(LTS)이상공식 GitHub- MagicOnion 😺 사담- 개.. 2024. 8. 8.
Incremental Source Generator 🖥️ Incremental Source Generator 란?- .NET 5 이후의 기능으로, 컴파일 타임에 코드 생성을 최적화 하고 성능을 향상시키기 위해 도입된 기술 - 기존의 소스 생성기보다 더 효율적이고 부분적으로 코드 생성을 수행할 수 있는 기능 제공  주요 개념  1. Incremental Source Generation- 코드 생성을 부분적으로 수행하여, 변경된 부분만 다시 생성- 전체 코드 베이스를 다시 분석하지 않고 변경된 입력에 대해서만 반응, 더 효율적인 코드 생성 가능 2. Performance- 대규모 코드베이스에서 소스 생성기의 성능을 크게 향상 시킴- 반복적인 빌드 및 변경 작업에서 유용 3. Diagnostics - Incremental Source Generator는 진단.. 2024. 8. 7.
MemoryPack 라이브러리 개요 - MemoryPack은 Cysharp라는 일본의 소프트웨어 개발 회사에서 개발한 고성능 C# 직렬화 라이브러리 MemoryPack 라이브러리- .NET에서 사용되는 고성능 메모리 패킹 및 직렬화 라이브러리- 게임 개발이나 고성능 애플리케이션에서 자주 사용됨.- 직렬화와 역직렬화작업을 빠르고 효율적으로 처리, .NET 최신 기능 활용  특징 1. 고성능- MemoryPack은 빠르고 효율적인 직렬화/역직렬화 성능 제공 2. 간단한 사용 방법- 직렬화할 클래스에 `MemoryPackable` 특성을 적용하고  `partial` 클래스를 정의하면 사용 가능  3.소스 생성기 - .NET의 소스 생성기 기능을 사용하여 컴파일 타임에 직렬화 및 역직렬화 코드를 자동으로 생성 4. 최신 C# 기능 지원 - .. 2024. 8. 7.