Git Product home page Git Product logo

diconserver's Introduction

DiconServer Project

C++ IOCP Game Server Programming(C++ IOCP 게임 서버 프로그래밍)

Video tutorials on youtube: https://www.youtube.com/playlist?list=PLrrTotxaO6kgEMm9YYRX-jwHAHhqSt8Ke

C++ Game Server Programming(게임 서버 프로그래밍 코스)

  • Introduction to Course(코스 및 교재 소개)
  • Source code download link(소스 다운 받는 방법)

Thread and Critical Section(쓰레드와 임계영역)

  • Thread Concepts(쓰레드의 개념)
  • Understanding Critical Section(임계영영의 이해)
  • Using CRITICAL_SECTION(CRITICAL_SECTION 사용하기)
  • Applying RAII for Critical Section(RAII로 critical section 이용하기)

Synchronization(동기화)

  • Synchronization between Threads(쓰레드 사이의 동기화)
  • Understanding Windows Event(윈도우 이벤트Event의 이해)
  • Deadlock in Multiple Threads(쓰레드 데드락 및 해결 방법)

Packet Design(패킷 디자인)

  • Designing Packet(패킷 설계하기)
  • Designing Queue for Packets(큐 설계하기)
  • Understanding boost::bind(boost::bind()의 사용법 이해)
  • Designing Queue and Session(큐와 세션의 설계)
  • Applying IS-A and HAVE-A relationship(IS-A관계와 HAVE-A 관계의 기본 구조 따르기)
  • Making thread-safe queue(큐를 쓰레드 안전하게 만들기)

OSI 7-layers(OSI 7계층)

  • Understanding OSI 7-Layers(OSI 7 계층에 대한 이해)
  • WinSock and OSI 7-Layers(WinSock과 OSI 7 계층의 관계)
  • Basic Structure of WinSock Program(기본적인 WinSock 프로그램의 구조)

Basic Socket Programming(기본적인 소켓 프로그래밍)

  • Connectionless/Connection oriendted protocols
  • TCP and UDP
  • Byte ordering(바이트 순서)
  • Bind, Listen and Accept(바인드, 리스닝 및 수락)

Socket Listening Thread(소켓 리스닝 쓰레드)

  • Making Accept Thread(쓰레드를 이용하여 Accept의 제작)
  • Resolving Blocking State(blocking 상태를 해결하기)

Packet Design(패킷 설계)

  • Byte Aligning of Structures(구조체의 바이트 정렬 문제)
  • Understanding Serialization(직렬화의 개념)
  • boost serialization
  • Roll of enum value in class(enum값의 역할)
  • Enum value to string(enum값의 스트링 변환)

3-way handshaking(3방향 핸드셰이킹)

  • Understanding 3-way handshaking(3-way handshaking 이해하기)
  • Detailes of Close operation(close 동작의 자세한 이해)

Stream Protocols(스트림 프로토콜)

  • Understanding Stream based protocols(스트림 프로토콜 이해하기)
  • Writing send(send 작성법)
  • Writing receive(receive 작성법)

Lua(루아)

  • Introduction to Lua(루아의 소개)
  • How to build Lua library(루아 빌드 하는 방법)
  • Calling Lua function from C(C언어에서 루아 함수의 호출)
  • Calling C function from Lua(루아에서 C함수의 호출)
  • Introductino to Luatinker(루아팅커의 소개)
  • Downloading Luatinker(루아팅커 소스 받기)
  • How to bind Lua function with Luatinker(루아 함수를 바인드 하는 방법)
  • Calling Lua function from C++(C++언어에서 루아 함수의 호출)

Winsock Design(윈속 디자인)

  • System Architecture(시스템 아키텍쳐)
  • Protocol Characteristics(프로토콜의 특징)
  • Winsock Catalog(윈속 카탈로그)
  • IPv4
  • IPv6
  • Resolving Address and Name(주소와 이름 해결 방법)

Winsock IO Method(윈속 IO 방법)

  • Winsock IO Method(윈속 IO 방법)
  • Socket Mode(소켓 모드)
  • Socket Model(소켓 모델)
  • IO Model Consideration(IO모델 고려 사항)

Socket Models(소켓 모델)

  • Select Model(Select() 모델)
  • AsyncSelect Model(AsyncSelect 모델)
  • Overlapped Model(Overlapped 모델)
  • Overlapped Completion Routine Model(Overlapped Completion Routine 모델)
  • Basic programming structure of IOCP Model(IOCP 모델 기본 구조)

IOCP Server

  • Class diagram of IOCP Server(IOCP 서버 클래스 다이아그램)
  • Code Review(코드 오버뷰)

Database

(Video tutorials for Database will be added on 2019)

  • Installing Microsoft Sql Server 2014 Express(for Windows 7 compatibility)
  • Working with SSMS(Sql Server Management Studio)
  • Using Visual Studio Database Project
  • soci 4.0.0 for Microsoft Sql Server Connection.
  • Working with Sp(Stored Procedure)

diconserver's People

Contributors

jintaeks avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.