Create Game
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fw4Ggp%2FbtrV0iYlVzQ%2FQ73CP6U8CpsaFYTfxEwDUK%2Fimg.png)
[SEVER] Non-blocking Socket
1. Blocking Socket 1.1 Blocking - accept, connect, recv, send - 대부분 소켓 관련 함수들은 호출 스레드를 블로킹 상태로 만듦 - 블로킹 상태: 현재 스레드가 더 이상 코드를 진행하지 않고 block 상태로 멈춰 있는 상태 1.2 Blocking 상태가 안 좋은 이유 - 서버 1개와 연결된 클라이언트 수는 10개 - 서버는 모든 클라이언트 패킷을 번갈아 가면서 받아야 함 - 그러나 하나의 클라이언트에서 보내기만 하고 클라이언트가 종료가 된다면 서버는 블로킹 상태 유지 1.3 Blocking 상태를 사용하지 않는 방법 - 함수 호출에 필요한 소켓을 논블로킹 상태로 변환 - 이 소켓이 호출되고 클라이언트와 소통이 없으면 에러 코드를 반환 및 다음 클라이언트로 ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRUjYd%2FbtrVWe8Wlhs%2FCf8F2ROTSXUaz6QxNaHjVK%2Fimg.png)
[UE5] COMBAT GAME - 05. Collision Component
1. Collision Component 1.1 Collision - Collision 생성을 위해 공격을 할때만 생성 - bool 값 생성 (Enable Collison) 1.2 Trace - 트레이스를 사용하여 모든 물체와 트레이스가 부딪힐 때 액터의 값을 넘김 - Component는 캐릭터의 소켓을 모르므로 Primitive Component를 생성하여 임의로 소켓의 이름을 설정 - 각 값들은 무기에서도 조정할 수 있게 하기위해 전역 변수 선언 - 트레이스로 부터 만난 값들이 만약 무시되는 값에 있으면 넘기고 만약 없으면 그 액터는 부딪힌 판정이 됨 - 부딪힌 액터는 다시는 부딪히면 안되므로 무시되는 값에 추가 - 마지막으로 부딪힌 값을 설정할 수 있게 디스패치를 이용하여 값을 넘김 - 매 틱마다 ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoGKTL%2FbtrVVfAmWSB%2FrYkiZXmc3900NQTEJxG8Lk%2Fimg.png)
[SEVER] UDP Server
1. UDP 1.1 UDP의 의미 - 데이터를 데이터그램 단위로 처리하는 프로토콜 1.2 특징 - 비연결형 서비스로 데이터그램 방식을 제공 - 정보를 주고 받을 때 신호절차를 거치지 않음 - UDP헤더를 보면 CheckSum 필드가 있음 - 최소한의 오류만 잡음(검출?) - 낮은 신뢰성 - TCP보다 속도가 빠름 1.3 UDP Server - 연결이라는 개념이 없음 - 데이터 경계가 있음 - 전송 순서를 보장X - 분실에 대한 책임이 없음 - 일단 보내고 생각 - 단순하기 때문에 속도가 상대적으로 좋음 2. UDP server 2.1 TCP Code - https://choiprogramming.tistory.com/101 [SEVER] TCP Server 1. TCP 1.1 TCP의 의미 - 인터넷상에..