분류 전체보기270 Immutable c#에서 개체는 단순히 레퍼런스로 넘겨준다고생각했지만, 레퍼런스를 복사해서 가져가는 것이다, 그래서 보기에 call by value로 보이게 된다 c# Immutable에 대해서 자세히 나와있는 블로그가 있었다. -출처 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=bluerein_&logNo=220873858365 2022. 7. 7. 이동. 이동 이동을 할 때 는 update문에 써야한다 주기적으로 계속이동을해야하니 아래 코드를 먼저 보자.. using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerController : MonoBehaviour { public Grid _grid; private Define.MoveDir _dir = Define.MoveDir.None; public float _speed = 2.0f; private bool _isMoving = false; // Start is called before the first frame update void Start() { } // Update is call.. 2022. 7. 7. mmorpg서버구조 mmorpg 서버 웹서버는 요청과 응답이 끝이지만 게임서버는 interaction이 정말 많다.. a가 b에게 공격을 가하면 a는 공격을하고 스태미너가 감소하던가 b의 체력도 감소하게된다 이러한 하나의 연결이 아닌 여러 상호작용들이 존재한다. ! single스레드를 사용하면 안되나? actor 수가 너무 많아지면 하나의 스레드로는 감당을 하지 못한다, 게임 유저들은 참지못한다.! 그래서 사용한 것이 멀티스레딩 구조인데 이 상황에서는 문제가 많다. 중간에 queue로 범퍼 역할을 해도 lock lock을 거는데 여기서 성능도 문제가 되고, .. 그래서 가장 중요한 것이 구역을 잘 나누는 것이다. 구역을 잘 나누면된다. 멀티프로세스는 어떨까 그렇게 되면 lock도 필요없고 동기화고 필요없고 그렇지만. 경계에.. 2022. 7. 6. MessagePack 게임서버를 만들 때 네트워크 통신 부분에서 직렬화 역직렬화가 필요하다. 그때 c#에서 MessagePack을 사용하면 아주 편리하게 사용 직렬화 역직렬화가 가능하다 이것이 아니면 보내쪽에 맞게 파싱작업도 해야해서 힘들다. neget에서 messagepack을 설치하면 바로 사용가능하다. 예제 // See https://aka.ms/new-console-template for more information using MessagePack; class Program { static void Main(string[] args) { Student student = new Student() { Name = "범범조조", Age = 29, Score = 77, Grade = "C+" }; byte[] bytes =.. 2022. 7. 6. 이전 1 ··· 5 6 7 8 9 10 11 ··· 68 다음