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

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

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2025/05   »
일 월 화 수 목 금 토
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 31

방문자수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

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

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2025/05   »
일 월 화 수 목 금 토
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 31

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

티스토리툴바