Index

프로젝트

네트워크 라이브러리 제작 및 유니티 게임에 적용

  • 블로그 설명
  • 기술 스택: c#, socketProgramming, protobuf, unity
  • c#을 활용하여 소켓통신 네트워크 라이브러리를 제작한 후 간단한 채팅 서버, 게임 서버 제작한 후 유니티에 적용해 멀티플레이 게임을 제작하였습니다.
  • 리슨 서버를 통한 멀티플레이 방식을 사용했고, 채팅, 게임 룸 생성 및 참가, rpc, 게임 동기화를 구현해보았습니다.

2025년 - 소켓 프로그래밍 연습

  • 2025년에 수행한 Winsock, C# Socket 라이브러리를 이용한 소켓프로그래밍 연습 사실 기록입니다.

C# System.Net.Sockets

  • 2025CSharp-ChattingApp 깃허브 저장소
  • C#의 System.Net.Sockets 네임스페이스를 이용한 간단한 채팅 애플리케이션 개발 프로젝트입니다.
  • 간단한 소켓통신 에코서버, ASP.Net Core 샘플 프로젝트와 둘을 활용한 채팅 프로그램 제작 프로젝트를 통한 단계적 학습을 하였습니다.
  • 최종적으로 ASP.Net Core 웹서버를 통한 회원가입, 및 로그인 기능을 구현하여 간단한 채팅 프로그램을 제작하였습니다.

정리

  • 웹서버는 ASP.Net Core, DB는 PostgreSQL을 사용했으며 Azure의 리눅스 서버에 배포까지 얇게 경험해보았습니다.
  • 채팅 프로그램을 간단한 전체 브로드캐스팅 방식부터, 그룹 채팅, 귓속말, 친구 시스템까지 구현했습니다.
  • 버퍼관리를 제대로 못하여 송신 데이터 스트림이 깨지는 문제를 겪었습니다. 디버깅을 콘솔 출력 찍는것으로밖에 못 해서 일일이 출력 찍어보면서 문제점을 찾았습니다.

Winsock

  • 2025WinsockUnrealNetworking 깃허브 저장소
  • 나름 처음으로 만들어본 C++ 코드뭉치여서 메모리 관리나 코드 구조에 대한 고민이 많았던 프로젝트입니다.
  • 직접 스레드를 생성해보고 동시성 문제도 겪어보니 C# 같은 고수준 언어보다 재미있었습니다. 다만 코드 양이 엄청 늘어난다든가 구조가 복잡해지게 불편했습니다.
  • DB없이 아주 간단한 채팅 프로그램으로만 구현했습니다.
  • 언리얼에서 라이브러리를 사용해 채팅 시스템을 구현해보려고 시도하였는데,
    간단한 로그인 및 채팅은 구현했지만 언리얼에 대한 이해도가 낮아 코드가 너무 조잡해져서 도중 포기하였습니다.