디시인사이드 갤러리

마이너 갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[💬] c++로 서버 짜기. 통신 패킷편

whatugonnado갤로그로 이동합니다. 2016.05.14 23:12:36
조회 3965 추천 9 댓글 13
														

 

viewimage.php?id=2abcdd23dad63db0&no=29bcc427b38577a16fb3dab004c86b6fb8c469a51a456a54840338fe7a09fea1d804efa78d43418924f69167a230b239e361614064f1d32c6a5c119e4db8

 

크롬으로 글쓰려는데 저렇게 무한로딩중 걸려서 ie킴 . 바로 된다 ㅅㅂ

 

 

 

그럼 시작해봄

 

게임서버와 게임클라이언트간 정보를 주고받는데 있어서,

클라쪽에서 로그인을 하면 서버에 있던 정보를 클라에 넘겨주고, 그 정보를 바탕으로 화면에 띄우고자 함.

 

 

viewimage.php?id=2abcdd23dad63db0&no=29bcc427b38577a16fb3dab004c86b6fb8c469a51a456a54840338fe7a09fea1d804efe3de18288c23f79762ab57b36925f615805658093f2e85

 

일단 위 내용의 스키마를 작성하였다. flatbuffer 홈페이지를 가보면 더 자세한 스키마 문법이 있고, 그걸로 공부하면 됨.

게다가 지원하는 언어가 엄청 많으니 가서 확인해보길 바람.

 

암튼 유저에 인덱스와 아이디 비번 등등과 유닛들에 대한 배열, 파티에 대한 배열도 존재하며

유닛정보는 각 유닛의 스텟등이 있으며 파티는 파티명과 유닛들의 배열로 구성된다고 설정함.

 

 

flatbuffer에서 지원하는 코드를 빌드하면 스키마를 인쿨루드 가능한 파일로 전환해주는 프로그램이 생기는데

그걸로 위의 스키마를 헤더파일로 넣고 자신의 프로젝트에 추가만 하면 됨.

이 부분이 궁금하면 따로 글을 쓰겠음

 

 

 

viewimage.php?id=2abcdd23dad63db0&no=29bcc427b38577a16fb3dab004c86b6fb8c469a51a456a54840338fe7a09fea1d804efa78d43418924f69167a230b239e361641469f2892f3f56119e4db8

 

 

이쪽이 보내는 코드. 보내는 부분의 전체코드는 아님..

 

CreateUser, CreateUnit, CreateParty같은 함수는 위의 flatbuffer가 스키마만 넣었는데 모든 내용을 헤더파일로 다 만들어줌

include하고 쓰면 된다. 배열같은 경우엔 flatbuffer에서 따로 vector를 지원하니, 기존의 stl 벡터를 flatbuffer의 vector로 씌워서 사용.

 

 

 

viewimage.php?id=2abcdd23dad63db0&no=29bcc427b38577a16fb3dab004c86b6fb8c469a51a456a54840338fe7a09fea1d804efa78d43418924f69167a230b239e361371668a4df23685f119e4db8

 

받는쪽 코드.

 

여기는 패킷을 받아서 GetUser(패킷의 정보)만 하면 저렇게 보내기 전 데이터가 양호한 모습을 보이는걸 확인할 수 있다.

 

 

 

json 보다 만배 빠른 flatbuffer 쓰세여!

 

 

 

 

 

물론 글쓴이도 이때까진 raw struct을 알아서 패킷화 하고 보냈는데,

스키마만 짜놓으면 알아서 헤더파일 뱉어내니까 너무 편해서 쓰게됨.

 

링크는 댓글로

 

 

3줄요약

1. 구글이 flatbuffer 오픈소스를 선보임

2. 데이터 주고받을때 편함

3. 쓰셈

 

 

자동등록방지

추천 비추천

9

고정닉 0

2

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기
자동등록방지

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
2858 설문 SNS로 싸우면 절대 안 질 것 같은 고집 있는 스타는? 운영자 24/05/06 - -
2859 AD 나혼렙 어라이즈 그랜드 론칭! 운영자 24/05/09 - -
159490 공지 인디 게임 개발 갤러리 규칙 - 질문 전 필독!! [5] 에뚜갤로그로 이동합니다. 24.05.10 92 2
52873 공지 게임제작 초심자를 위한 글 모음 [9] Goranic갤로그로 이동합니다. 20.07.02 62763 51
123789 공지 뉴비 개임개발 하려는데 뭐부터 해야하나요 복사본 [14] 흉황갤로그로 이동합니다. 23.04.11 11284 16
159568 💬 일하면서 개발하시는 분? [2] ㅇㅇ(218.156) 02:10 95 0
159567 💬 vs 쳐 멈추는 거 해결 방법은 알았는데 어째 민간 요법 같다 [3] longZam갤로그로 이동합니다. 01:38 63 0
159565 💬 구글 개발자 신규 계정 만들고 이전하면 테스터 20명 해야함? [2] ㅇㅇ(59.1) 01:18 58 0
159564 📜일지 스마수키게 #18 - 애드몹 미디에이션 / 출시 검토 [1] 태보미갤로그로 이동합니다. 01:15 64 4
159563 📚정보 전업아조시의 세금루팡 후기 [6] ㅇㅇ(118.128) 01:07 132 0
159562 💬 포톤쓰다가 일어난 일 메모... 휴대용치즈갤로그로 이동합니다. 00:57 39 0
159560 💬 유니티 7 버전 네이밍 떴다 [2] ㅇㅇ(1.249) 05.10 138 0
159559 💬 깃허브의 종류로는 ㅇㅇ갤로그로 이동합니다. 05.10 59 0
159557 🐣질문 님들 프로젝트 하나당 에셋으로 돈 얼마나 나감? [1] ㅇㅇ(211.119) 05.10 132 0
159556 📢홍보 예전부터 만들던 데모 게임 출시했어! [13] 닌거갤로그로 이동합니다. 05.10 422 12
159555 📜일지 퍼즐 플랫포머 게임 제작 후기#1 게임 제작의 시작 그리고 "색" [3] BIB갤로그로 이동합니다. 05.10 111 3
159554 📜일지 퍼즐 플랫포머 게임 제작 후기 #0 게임 소개 (기획) [2] BIB갤로그로 이동합니다. 05.10 98 1
159553 💬 애드몹 광고가 1달째 나오질 않네..ㅜㅜ [1] ㅇㅇ(110.13) 05.10 65 0
159552 🐣질문 유니티 c#만 해도 되나요? [3] ㅇㅇ(211.104) 05.10 114 0
159551 🐣질문 피칠갑되는 셰이더 만들고 싶은데 [6] ㅇㅇ(39.123) 05.10 172 0
159550 🐣질문 UI, Unity Canvas Scaler, 해상도 질문입니다! 라라루라갤로그로 이동합니다. 05.10 52 0
159549 💬 도트 주인공 디자인 해봤슴 [9] ㅇㅇ(222.106) 05.10 294 2
159548 🐣질문 마나 말고 다른 마법 에너지를 만들까 하는데 [17] ㅇㅇ(14.52) 05.10 167 0
159547 💬 님들은 인앱결제 영수증에 님들 주소나옴? ㅇㅇ(14.43) 05.10 45 0
159546 💬 동물배그 같은 완전2D 롤같은건 없음? [2] Moriae갤로그로 이동합니다. 05.10 130 0
159545 📜일지 디펜스 게임 '크리스탈 연대기' 개발 일지 [12] Noah갤로그로 이동합니다. 05.10 171 5
159544 💬 나도 x1000 뭐시기 해봄 [2] Birb(220.122) 05.10 162 4
159543 💬 캐릭터 버벅거리는거 고침. ㅇㅇ(121.168) 05.10 64 0
159542 💬 요즘 지연함수가 되게 좋다 [2] ㅇㅇ(211.200) 05.10 108 0
159541 💬 모에모에 아일랜드(피드백) [5] ㅇㅇ(121.166) 05.10 240 6
159540 💬 100년 뒤에 사람이란게 존재할까? [4] ㅇㅇ(121.130) 05.10 145 0
159539 💬 인디 왕의 귀환, 하데스 2 소감 [1] ㅇㅇ(218.148) 05.10 188 2
159537 🐣질문 어셈블리 분리하고 유니티 기본 어셈블리에 있는 네임스페이스 접근못함? [12] ㅆㅇㅆ(124.216) 05.10 230 0
159536 📢홍보 [홍보/이벤트] 숨은 동물 찾기 : 탐정 네코 [2] WolvesGame갤로그로 이동합니다. 05.10 116 1
159535 💬 여기 창의인재 지원한 사람있음? [5] ㅇㅇ(222.118) 05.10 241 0
159534 💬 유니티에서 행동트리 만들어서 써본사람 잇어? [1] ㅇㅇ(42.24) 05.10 72 0
159532 🐣질문 이런 초거대맵은 어캐만드냐? [6] ㅇㅇ(1.226) 05.10 302 0
159467 뉴스 역대 최대, 인디크래프트 게임사 326곳 접수 [4] 게임메카갤로그로 이동합니다. 05.09 260 0
159531 💬 대구지원사업 넣으신분 있나요? [1] ㅇㅇ(123.141) 05.10 99 0
159530 💬 컴과 새내기 게임 만들어봄 [10] Achie$갤로그로 이동합니다. 05.10 438 11
159528 🐣질문 형님들 질문이 있습니다. [3] 7월갤로그로 이동합니다. 05.10 131 0
159527 💬 bic나 인디크래프트 같은거 하반기에는 [3] ㅇㅇ(168.131) 05.10 182 0
159526 💬 답답한 마음에 글을 적습니다..(모바일 멀티플레이에 대해) [18] ㅇㅇ(180.71) 05.10 303 2
159525 💬 언리얼 멀티게임 만드는데, 클라이언트 화면이 버벅거리는거 경험해본 사람? [12] ㅇㅇ(121.168) 05.10 179 0
159524 💬 드로잉 손도 못대면 도트가 더 쉬움ㄹㅇ ㅇㅇ(222.109) 05.10 138 0
159523 💬 유니티 설치 하는데 멈췄어 [7] ㅇㅇ1(116.121) 05.10 158 0
159522 💬 난 도트가 쉽다는거 동의 못함 asdf(175.198) 05.10 160 4
159521 💬 도트가 쉽?다는 거 동의 못함ㅋㅋㅋㅋㅋ [12] ㅇㅇ갤로그로 이동합니다. 05.10 473 1
159520 💬 언리얼 엔젤 스크립트라고 알고있는 인붕이 있니 [12] ㅇㅇ(218.159) 05.10 201 0
159519 💬 [SZS] X에 x1000 릴레이 참여 한번 해봤어 Nomadway갤로그로 이동합니다. 05.10 79 0
159517 🐣질문 일본어 Character Sequence 범위좀 가르쳐주실분? [4] 정글갤로그로 이동합니다. 05.10 112 0
159516 💬 유니티6 네이밍 이해가 안되네 ㅅㅂ [10] ㅇㅇ갤로그로 이동합니다. 05.10 318 0
159515 📚정보 닌자거북 이번 GDC 발표 떴네 점돌맨갤로그로 이동합니다. 05.10 137 0
159514 💬 맵선택창 애매한듯 [1] 사슴발레리나갤로그로 이동합니다. 05.10 172 1
159513 💬 뱀서류가 왜 인기많은지 알겠네 [5] ㅇㅇ갤로그로 이동합니다. 05.10 365 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2