Multi Network 설계

jjuiddong
Jjuiddong (토론 | 기여) 사용자의 2013년 4월 9일 (화) 10:12 판

(비교) ← 이전 판 | 최신판 (비교) | 다음 판 → (비교)
이동: 둘러보기, 찾기

Multi Network를 하는 서버가 처음 실행되어서 하는 작업들을 나열해보았다.

초기화

  1. connect parent server
  2. login
  3. send p2p link, input/output link config data

p2p connection

  • p2pS 로 등록된 서버에게 접속한다. p2pC로 등록된 서버가 있다면 자신이 p2p 서버임을 뜻한다.
    1. request p2p link infomation ip, port
    2. connect p2p link

server bind

  1. input link 에 속하지 않으면서 output link 가 되는 그룹을 위해 서버를 생성 output link 갯수 만큼 서버를 생성한다.
  2. requstBindInnerPort, connectionType(output link item) -> 요청
  3. NetGroupController(Server) 생성 -> Bind 시도
  4. ReqSubConnectionBindComplete, connectionType(output link item)

client connection

  1. input link 에 등록된 server그룹에게 Client로 접속한다.
  2. ReqServerConnectionInfoList, input link 에 등록된 svrType
  3. NetGroupController(client) 생성 -> Connection 시도
  4. ReqSubConnectionConnectComplete, connectionType(input link item)

매인서버 실행

  1. input link 나 output link를 소유한 서버타입은 클라이언트를 받기위해서 서버를 실행시킨다.
    1. requestBindOuterPort, connectionType(client) -> 요청
    2. NetGroupController(server) 생성 -> Bind 시도
    3. ReqSubConnectionBindComplete, connectionType(client)
  2. p2pC 로 등록된 서버들이 있다면 자신은 p2p 서버로 실행된다.
  3. 매인서버는 자신이 p2p 서버이든, input link를 소유하고 있든 상관없이 항상 실행된다.
  • NetGroupController 에서 생성한 client/Server 는 하나의 쓰레드에서 관리하게 해야한다.
개인 도구
이름공간

변수
행위
둘러보기
도구모음