SM's Development Log

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

Study/Game Server 2

이상한 나라의 소켓 옵션

네트워킹 라이브러리를 제작하면서 이상한 오류를 발견했다. 대기 소켓에서 Accept를 처리하려는데 클라이언트의 주소를 얻어올 수가 없었다. 이를 해결하기 위해 임시로 서버를 만든 후 테스트를 해봤다.int main(){ WSADATA wsaData; WSAStartup(MAKEWORD(2, 2), &wsaData); // 1. IOCP 생성 HANDLE iocpHandle = CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, NULL, NULL); // 2. 대기 소켓을 만들고 IOCP에 등록 SOCKET listener = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); CreateIoComple..

Study/Game Server 2024.10.25

게임 서버 라이브러리 제작하기 - 교착 상태 탐지 모듈

개요게임 서버를 구축할 때 멀티스레딩은 필수다. 따라서 자연스럽게 락을 사용하게 되는데, 락을 사용하다보면 교착 상태(Deadlock)를 피할 수 없다. 모든 교착 상태를 미연에 방지할 순 없지만 그래도 개발하면서 발생할 수 있는 교착 상태에 대해서는 탐지할 수 있는 모듈을 개발해보자.교착 상태 탐지 원리교착 상태는 자원의 잠금 순서를 지키지 않았을 때 발생한다. 아래의 코드를 보자.#include #include #include using namespace std;mutex lock1, lock2;int main(){ jthread t1([&] { // while()을 하는 이유는 아래의 코드가 엄청 빨리 끝나기 때문에 // 단발성 실행으로는 교..

Study/Game Server 2024.09.23
이전
1
다음
더보기
  • 분류 전체보기 (126)
    • Study (15)
      • Design Pattern (2)
      • C# (3)
      • Unity (7)
      • Data Structure (0)
      • Algorithm (1)
      • Game Server (2)
    • Cookbook (0)
      • WinAPI로 2D 게임 만들기 (0)
      • 자료구조 및 알고리즘 with C++ (0)
    • Diary (6)
      • Note (3)
      • Review (0)
      • Essay (0)
    • Outdated (104)
      • Library (4)
      • Core Language (6)
      • OS (1)
      • Infrastructure (2)
      • Algorithm Solution (67)
      • Column (11)
      • Network (2)
      • Book (6)
      • English (0)
      • Computer (1)
      • Game (4)

Tag

일잘러, 버전 관리 시스템, 객체지향 프로그래밍, 퍼블리, git, git flow, 형상 관리 시스템, 백준, BOJ, vs2015, Version Control System, Computer Column, source control system, 분산형 버전 관리 시스템, vcs, OOP, 알고리즘, Modern C++, #2019 #회고록, c++11,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2025/09   »
일 월 화 수 목 금 토
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

방문자수Total

  • Today :
  • Yesterday :
  • 분류 전체보기 (126)
    • Study (15)
      • Design Pattern (2)
      • C# (3)
      • Unity (7)
      • Data Structure (0)
      • Algorithm (1)
      • Game Server (2)
    • Cookbook (0)
      • WinAPI로 2D 게임 만들기 (0)
      • 자료구조 및 알고리즘 with C++ (0)
    • Diary (6)
      • Note (3)
      • Review (0)
      • Essay (0)
    • Outdated (104)
      • Library (4)
      • Core Language (6)
      • OS (1)
      • Infrastructure (2)
      • Algorithm Solution (67)
      • Column (11)
      • Network (2)
      • Book (6)
      • English (0)
      • Computer (1)
      • Game (4)

Tag

일잘러, 버전 관리 시스템, 객체지향 프로그래밍, 퍼블리, git, git flow, 형상 관리 시스템, 백준, BOJ, vs2015, Version Control System, Computer Column, source control system, 분산형 버전 관리 시스템, vcs, OOP, 알고리즘, Modern C++, #2019 #회고록, c++11,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2025/09   »
일 월 화 수 목 금 토
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

티스토리툴바