Client에 WaitForDisconnectAsync 추가하면 왜 연결이 끊겼는지 확인 가능한데, WaitForDisconnectAsync API는 기존 WaitForDisconnected의 개선된 버전으로, 연결이 끊어진 이유를 수신할 수있다. 🖥️ 클라이언트의 연결 함수public async Task ConnectAsync(string address){ var channel = GrpcChannelx.ForAddress($"{address}"); _hub = await StreamingHubClient.ConnectAsync(channel, this, serializerProvider: MemoryPackMagicOnionSerializerProvid..
mysql 사용자 비밀번호를 단순하게 만들고 싶은데, 보안 수준이 높아서 에러가 날 때는 정책 수준을 변경하고 만들면 된다. -- 보안 수준 확인 show variables like 'validate_password%'; 이때 아래의 쿼리를 사용해 정책 수준을 변경할 수 있다.-- 보안 수준 변경 쿼리set global validate_password.policy=LOW; 유저 생성하고 권한을 부여하는 쿼리 USE mysql;-- 유저 생성 CREATE USER 'admin'@'%' IDENTIFIED BY '비밀번호';CREATE USER 'admin'@'localhost' IDENTIFIED BY '비밀번호';-- 모든 권한 부여 GRANT ALL PRIVILEGES ON *.* TO 'admin..
📘 RESTful API 네이밍 규칙RESTful API를 설계할 때, 일관성과 가독성을 높이기 위해 다음과 같은 네이밍 규칙을 따르는 것이 중요. 이를 통해 유지보수성과 확장성을 크게 향상시킬 수 있음 1. 🔤 리소스는 명사로 표현 (동사 X)리소스(데이터 객체)는 명사로 표현합니다. 동사 대신 명사로 URL을 작성하는 것이 RESTful API의 기본 원칙입니다.올바른 예시: /users, /items, /orders잘못된 예시: /getUsers, /createItem, /deleteOrder2. 🚀 HTTP 메소드를 활용한 의미 전달동작(행동)은 HTTP 메소드로 표현하고, 경로에 동사를 넣지 않습니다.GET: 리소스 조회 (예: GET /users)POST: 리소스 생성 (예: POST /use..
MagicOnion을 이용한 채팅 만들기 3 : 클라이언트MagicOnion/github를 보면클라이언트는 Unity로 구현되어 있다.Unity로 구현은 나중에 할 예정이라, 일단은 console 먼저 구현하겠다.1. 솔루션 -> 오른쪽 버튼 -> 새 프로젝트 추가 2. 콘솔 앱 생성, 이름 작성 나는 MagicOnionChatClient 로 만들었다. 3. 추가 정보 .NET 8.0 만들기 4. 프로젝트 추가 - 앞서 만들어놓은 Shared 프로젝트를 참조 추가 한다. 5. ChatHubReceiver 구현앞에서 만든 IChatHubReceiver를 구현한 ChatHubReceiver를 만들자.이 클래스는 서버로 부터 응답 혹은 요청이 왔을때 수신처리 하기 위한 클래스이다. 👩🏼💻 C..
MagicOnion을 이용한 채팅 만들기 2 : Hub, Receiver지난 글에 이어 서버 클라가 통신을 하기 위해 Hub, Receiver를 만들자. 1. 새 프로젝트 추가- 클래스 라이브러리 2. 이름 - Shared (자기 마음대로 하시면 됩니다! 저는 공유하는 프로젝트라 shared 라고 했어요) 3. 추가 정보 - .NET 8.0 만들기 4. TReceiver 추가 [TReceiver 설명]- MagicOnion에서 실시간 통신을 할 때 매우 중요한 역할을 하는 개념 - 주로 클라이언트 측에서 사용, 서버-> 클라이언트 데이터 푸시할 때 이를 수신하는 역할을 한다!- 클라이언트에서 특정 Hub와 연결될 때, 이 TReceiver 타입 객체가 생성됨, - 서버에서 발생하는 이벤트나 메시지를 ..
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("/", () ..