JUnit로 검색한 결과 :: 시소커뮤니티[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

회원가입 I 비밀번호 찾기


SSISO Community검색
SSISO Community메뉴
[카페목록보기]
[블로그등록하기]  
[블로그리스트]  
SSISO Community카페
블로그 카테고리
정치 경제
문화 칼럼
비디오게임 스포츠
핫이슈 TV
포토 온라인게임
PC게임 에뮬게임
라이프 사람들
유머 만화애니
방송 1
1 1
1 1
1 1
1 1
1

JUnit로 검색한 결과
등록일:2018-06-05 09:47:02
작성자:
제목:자바로된 PC 온라인 게임 서버 제작 가이드


자바로된 pc 온라인겜 캐주얼 서버를 작성해 봤습니다. 현재 상용온라인 게임 서비스 중이구요.

예전에 개발한거라,

요새 SNG서버로 자바를 이용해 개발을 하더군요. 처음이신 분이라면 도움이 되기 바랍니다.

질답에 올리려 했는데 권한이 안되네요.

 

c++ 서버에 관련된 것도 이런것들이 좀 올라왓으면 좋겠습니다.

 

추천 가이드 및 라이브러리

- NIO를 사용한 Apache MINA 라이브러리 사용할것 (세계최고의 개발자들이 만듬, 성능 입증된것임, 네티보다 추천)

- log4j 를 통한 로깅 관리

- apache commons 라이브러리를 이용하고 쓸데없는 코딩 줄일것 (개인적으로 boost 보다 강력하다고 봄)

- DB접근은 commons 내의 pool,dbcp를 이용해 커넥션 풀링 할것 (자동재연결,max,min 세부 조정 모두 가능)

- gmtool 개발은 Java swing으로 개발하면 됨

- sql query 는 사용하지 말고 db proc로 작업할것(느림) :

   apache dbutil 추천, 쓸데없이 preparedStatement 로 코딩하지 말것, 이 라이브러리 하면 3줄이면 됨

- 나머지는 모두 일반  c++  서버와 동일함

  (인증/분산,게임,관리,릴레이,DB-Proc서버 등등)

- 팁! Java 최대의 강점인 엔터프라이즈 프레임웍 기술을 이용해 전서버 동일한 캐쉬정보 로딩을 통한 세션 공유화가 가능

   (Grid 연결방식의 무한 확장이 가능) : 이건 저도 기술 구현만 해놓고 적용은 못해봄

 

- 소스 관리: SVN 이나 Mercurial 추천함 ( 왠만하면 Mercurial 사용하시길)

- 자동빌드 관리: ant 기술을 이용하면 됨, 패키징까지 완료,

- 윈도우 서비스 등록관리: 왠만하면 런쳐툴 만들고 JavaService 라는 오픈소스가 있음, 이걸 이용해 서비스 관리를 할것

- 타 서버(c++)와 연동작업시: 빅/리틀 엔디안 확인 잘하실것

- 서버구동시 네트웍 IO 스레드는 항상 미리 생성해놓고 대기할것 (생성시 느림)

- 동기화(이건 머 어디서나 중요하죠)처리 정말 신경써서 하실것, 성능 잡아먹음

 

- UI 개발은 Eclipse에 Google의 WindowsBuilder 플러그인 깔아 쓰면됨( Google이 사서 오픈해 버린 프로젝트임 )

- 엑셀 관련 import/export는 apache poi 라이브러리 사용하시면 됨 ( gmtool 에 이런기능 꼭넣으실것, 운영사에서 좋아함)

 

- JUnit을 이용한 모듈별 TestCase 꼭 작성할것(작성안하는 개발자있으면 혼내시길)

 

장점:

- 편리한 Eclipse 개발툴 사용 ( 이걸 사용하다보면 비주얼 스튜디오가 쓰레기로 보임 )

- 엄청나게 많은 오픈 소스 API 사용가능

- Google Apps로 작성된 다른 플랫폼과 라이브러리 연동 가능성

- c#같이 편리한 코딩이 가능

- java의 멋진 구조를 바탕으로 효율적인 프레임웍 구성 가능

 

단점:

- 개발자 전무, 교육에 반을 투자 해야함(경력/신입 밑바닥 부터 교육시켜야함)

- C++ 보다는 느림(그러나 체감하지 못함)

- SNG 를 제외한 일반 MMO/캐주얼 게임 쪽으로는 이직 힘듬(그러나 개인나름)

- java라고 대충짜면 메모리 뻑남, 특성상 자바개발자를 조금더 뽑는데 개념을 확실하게 심어줘야함