프로그래밍
-
IOCP게임서버 동기화 패킷처리프로그래밍/네트워크 프로그래밍 2016. 10. 12. 06:02
윈도우로 c++게임서버를 만들고 api정도에서 움직임 처리를 패킷으로 처리하는 포트폴리오입니다.클라이언트는 2개만 띄워서 테스트를 하였고 많은 패킷을 받아서 빠르게 처리를 하는 서버를구현하는데 목적을 두었습니다.IOCP이용해서 게임서버를 만들었습니다. 클라이언트 C++서버 C++Winsock VisualStudio2015 ,IOCP,c/c++ NetLIS ServerManual 0. NetLIS 서버 프로그램 소개.서버프로그램 NetLIS는 IOCP를 사용한 멀티 쓰레드 환경의 서버 프로그램입니다.코드생성을 하실 때 다중쓰레드(/Mtd)를 사용하여 주십시오.IOCP를 사용하였으므로 XP이하의 운영체제에서는구동이 불가능 합니다.함수호출에 따라서 서버기능을 수행하기도하고 클라이언트 기능을 수행하기도 합니다...
-
-
-
다이렉트 2D 리니지 툴프로그래밍/툴프로젝트 2014. 8. 12. 15:22
리니지 만들때 사용했던 툴 클라이언트에 적용할 기능만 넣었던 단순한 툴 타일, 오브젝트 설정 저장, 로드
-
파랜드 택틱스 리소스 추출프로그래밍/API 프로그래밍 2014. 7. 28. 01:03
파랜드 택틱스 1,2 설치하면 다음과 같은 폴더들이 보입니다. (본 화면은 어디서 압축된 거 받아서 한거라 다를수도 있습니다.) [그림 1] 설치(?)된 파랜드택틱스2 폴더 현황 여기 폴더 안에 보면 bmp가 보이는데 (여기서는 bmp 폴더를 가지고 테스트 하겠습니다.) 빨간 박스처럼 미리보기가 제대로 되는 경우가 있으며, 파란 박스처럼 미리보기가 안되는 경우가 있습니다. [그림 2] 제대로 보이는 enk.bmp 파일과 보이지 않는 나머지 bmp 파일들... 파란 박스를 실행하면 다음과 같이 손상되었다면서 보여주지도 않습니다. [그림 3] face01a.bmp를 실행시 나오는 에러 화면 정말로 손상된 이미지라면 게임화면이 어딘가 깨질텐데 그게 아닌거라면 정상적인 파일일껍니다. 파일을 분석해봅시다. 일단 ..
-
[3D포트폴리오]개인포폴프로그래밍/3D게임프로그래밍 2014. 7. 23. 16:06
3D 개인 포트폴리오 서든어택 모작 구현기능 애니메이션 메쉬, 스태틱메쉬 이용 각 오브젝트들 배치 MFC툴 만들어서 데이터 저장 로드로 이용 State패턴, 해쉬자료구조, Input디바이스사용 리소스와 시스템관련 DLL 만들어서 사용 플레이어에 고정된 카메라구현 스나이퍼 줌구현 절두체컬링, 쿼드트리 ,터레이쉐이더 ,텍스처 스플래팅 , AABB,OBB충돌처리 피킹, 피킹충돌 ,빌보드,파티클구현 다이렉트 사운드 점프구현, 계단올라가기,데칼메쉬, 빌보드이팩트 visual studio 2008 directx 9.0
-
[포트폴리오]리니지 네트워크프로그래밍/네트워크 프로그래밍 2014. 7. 5. 14:55
윈소켓을 사용한 네트워크 프로그램 소켓 SELECT 모델을 사용해서 클라이언트와 서버통신을 했습니다. 위 동영상은 간단하게 클라이언트2개만 띄워서 테스트했습니다. 서버는 윈도우 메시지를 사용해서 만들었습니다. 서버 주소만 정확히 적어주면 다른 컴퓨터에서도 접속가능합니다. 간단하게 채팅서버만 구현하였습니다. Winsock VisualStudio2008 DirectX9.0 모든 책이 그런 것은 아마 아니겠지만 (사실 아닐꺼라고 믿고 싶다) 대부분 기초적인 네트웍 프로그래밍 – 소켓 사용, Win 32 혹은 소수지만 버클리 소켓 사용 – 이나 단순한 수준의 멀티스레드 프로그래밍에 그 내용 중 상당량을 소진한다. 그리고 정작 중요한 modern한 I/O 모델을 이용한 서버 프로그래밍에 관한 설명은 정말이지 미흡..
-
게임서버 만들기 3프로그래밍/네트워크 프로그래밍 2014. 6. 25. 19:29
#ifndef__CompletionHandler_H #define __CompletionHandler_H #include "WorkerThread.h" class CompletionHandler { public: static CompletionHandler* getInstance(); static void releaseInstance(); bool initialize(); HANDLE getWorkerIOCPHandle(); bool addHandleToIOCP(HANDLE handle, DWORD keyValue); private: CompletionHandler(void); virtual ~CompletionHandler(void); static CompletionHandler* selfInstanc..