본문 바로가기 메뉴 바로가기

엘키의 주절 주절

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

엘키의 주절 주절

검색하기 폼
  • 분류 전체보기 (360)
    • BlahBlah (40)
    • Book review (44)
    • C++ (62)
      • boost (2)
      • General (41)
      • network (0)
      • Debugging (9)
      • Rendering (5)
      • Visual Studio (5)
    • Java (0)
    • C# (2)
      • Unity (1)
      • General (1)
      • Winform (0)
    • Web (15)
      • General (1)
      • Django (3)
      • Ruby on Rails (10)
      • Node.js (1)
    • Network (23)
    • Scripts (13)
      • Python (1)
      • Ruby (9)
      • JavaScript (2)
      • Batch (1)
    • General (43)
      • Parerell (8)
      • Algorithm (0)
      • DataStructure (0)
      • AI (1)
      • Multimedia (1)
      • XML (1)
      • Profiling (2)
      • Environment (8)
      • Hardware (1)
      • Utility (18)
      • Etc (3)
    • OS (14)
      • Windows (7)
      • Linux (7)
    • Software Engineering (46)
      • Unittest (4)
      • Design Pattern (19)
      • Develop Theory (9)
      • Knowhow (14)
    • Database (19)
      • General (7)
      • PostgreSQL (2)
      • MS-SQL (8)
      • MySQL (0)
      • SQLite (2)
      • Redis (0)
    • Reverse Engineering (14)
    • Open source (25)
      • Game (9)
      • EzShortcut (11)
      • Libraries (5)
      • Light (0)
  • 방명록

Network (23)
FlatBuffers Guide

https://google.github.io/flatbuffers/ FlatBuffers Documentation flatbuffers는 효율적인 크로스 플랫폼 직렬화 라이브러리이다.C++, C#, C, Go, Java, JavaScript, PHP, Python을 지원한다. 이건 원래 구글이 게임 개발과 또다른 성능이 치명적인 프로그램을 위해 만들어졌다. 이것은 아파치 라이센스 v2 기반의 github 오픈소스로써 사용 가능하다. 왜 Flatbuffers를 쓰는가?parsing이나, unpacking 전에도, 직렬화 데이터에 접근 가능하다.메모리가 효율이 좋고, 빠르다.유연하다.경량 코드강한 타입 처리편리한 사용종속성 없는 크로스 플랫폼 코드 https://google.github.io/flatbuff..

Network 2016. 7. 22. 11:10
동기화에 대한 간략 정리

동기화 기본목적모든 피어가 같은 결과를 얻게 하기 위함. 난제랜덤값 (시드 동기화)부동 소수점 실수 오차. 환경 변수어떠한 변수들을 동기화할것인가를 잘 결정지어야 한다.애니메이션 시스템에 영향을 주는 요소가, 커맨드 패턴으로 받는 변수 이외의 변수에 영향을 받는다면, 애니메이션 동기화는 불가능하다.또한 오브젝트간 충돌등의 물리처리가 중요하다면 이 것도 마찬가지로 관리해주어야 한다. 커맨드 패턴 사용서버가 난수까지 결정해서 주면 좋음.그럴러면 로직이 서버에 있는게 좋다.클라이언트는 결정지어진 결과값만 수신받아 표현한다라는 개념으로 가야 한다.티어간에 커맨드로 동기화를 하기 때문에, 동기화에 영향을 줄 임의 동작이 존재하면 안된다.동기화 적용 시점선동작 후보정액션성을 강조하기에 좋다.레이턴시가 클 수록 동작..

Network 2016. 6. 30. 21:22
로직의 네트워크 동기화 처리

실시간 게임이라 하더라도, 내부적으로는 모든 게임의 구성은 턴으로 구성하는 것이 좋다. (실제 초당 n프레임 같은 개념에서 각 프레임은 턴과 같은 개념이기 때문이다.) 이 턴의 동작 주기를 입력, 렌더, 로직 등을 잘 구분지어 처리하는 것이 좋다. 예를 들면, 입력은 1초에 5번, 렌더는 1초에 30번, 로직은 1초에 5번 등의 턴 기준을 명확히 정해 쪼개 놓는 것이 좋다. 그래야 네트워크 동기화, AI 구현 등의 처리 규정을 명확히 세울 수 있다. 로직을 1초에 5번으로 규정을 짓는다면, 한턴은 200ms이고, 200ms동안 이루어진 로직의 변화는 묶어서 다른 클라이언트로 전송하고, 내 변화도 묶어두었다가, 다른 유저의 정보를 수신한 다음턴이 돌아올 때 처리하는 식으로 구성하면 된다. LOL의 경우에도..

Network 2015. 1. 28. 12:38
TCP/IP, UDP 주요 포트

▶ TCP/IP 프로토콜에서 사용하는 Port1) 가장 많이 사용되는 포트 : 0 ~ 10232) 예약된 포트 : 1024 ~ 491513) 동적, 사설 포트 : 49152 ~ 65535 ▶ 가장 많이 사용되는 포트 요약 (0~1023)키워드포트번호포트용도icmp8/tcp, 8/udp0/tcp, 0/udpUnassignedftp-data20/tcp, 20/udpFile Transfer [Default Data]ftp21/tcp, 21/udpFile Transfer [Control]ssh22/tcp, 22/udpSSH Remote Login Protocoltelnet23/tcp, 23/udpTelnetsmtp25/tcp, 25/udpSimple Mail Transferdomain53/tcp, 53/udpD..

Network 2013. 3. 22. 23:35
ncftp 사용법

ncftp http://www.ncftp.com/ 1] 리모트서버에서 파일 받아오기 ncftpget -u [아이디] -p [패스워드] [리모트서버주소] . [파일경로] 2] 리모트서버로 파일 올리기 ncftpput -u [아이디] -p [패스워드] [리모트서버주소] [저장디렉토리 경로] [로컬파일명] 3] 서브디렉토포함 전송/받기 ncftpget -R -u [아이디] -p [패스워드] [리모트서버주소] . [디렉토리경로] ncftpput -R -u [아이디] -p [패스워드] [리모트서버주소] [저장디렉토리경로] [로컬디렉토리명] [참고사항] - 테스트 결과 ncftpget에서 파일경로는 상대경로로 설정한다. ncftpput에서 저장디렉토리 경로는 상대경로로 설정한다. ncftpput에서 -R을 사용할경..

Network 2011. 2. 17. 17:10
FTP Passive / Active 모드

FTP Passive mode FTP 서버의 Passive 모드는 명령어 연결(Control connection)과 데이터 연결(Data Connection)을 분리해서 접속하는 방식이다. Active 모드 Active 모드는 클라이언트가 보내중 정보를 기준으로 서버에서 클라이언트의 Data 포트에 접속을 시도한 후 클라이언트의 요청에 따라 데이터를 전송하는 방식이다. 하지만 Ip 공유기등 사설 IP에서 접속을 시도할 경우 클라이언트의 Data 포트가 막힐 가능성이 있기 때문에 500 Illegal PORT command 와 같은 오류를 출력할 수 있다. 즉 명령은 전달이 되었지만 실제적으로 전송을 담당하는 데이터 포트가 막혀서 데이터를 전송 못할 가능성이 있다. 연결 과정 1. FTP 서버 IP xxx..

Network 2011. 2. 17. 12:26
FTP 명령어

1. FTP 서버에 접속하기 ○ 방법 1 : ftp (도메인 네임) 혹은 (IP)를 입력한다. Ex) ftp ftp1.netscape.com ○ 방법 2 : ftp 후에 프롬프트가 “ftp>”로 뜨면 “open (도메인 네임) 혹은 (IP주소)” 를 입력한다. Ex) open ftp1.netscape.com ○ 프롬프트가 “ftp>”인 상태에서 여러 가지 명령을 입력할 수 있다. 2. 디렉토리(Directory) 보기와 바꾸기 ○ FTP 서버에서 자료는 디렉토리 구조에 따라서 정리되어 있다. 따라서 사용자의 컴퓨터에서처럼 디렉토리의 내용을 보거나 원하는 디렉토리로 바꾸는 등의 작업이 필요하다. 이 작업들은 “ftp>” 프롬프트 상태에서 “ls”명령어로 확인하고, ”cd” 명령 어를 사용하여 바꿀 수 있다..

Network 2011. 2. 17. 12:11
[UDP] 홀 펀칭 (Hole Punching)

홀 펀칭 (Hole Punching) - 정확한 명칭은 STUN (Simple Traversal of User Datagram Protocol Through Network Address Translators) 공유기라는 녀석이 라우터의 특성도 함께 가지고 있어 Routing Table 을 작성하기 위해 P2P 통신을 목적으로, 사전에 상대방과 패킷을 주고받고 하여 각자의 공유기에 Routing Table 을 작성하는 것을 [홀 펀칭]이라고 한다. Full Cone NAT 내부에 있는 호스트들의 모든 요청은, 모두 같은 외부 ip, port 로 맵핑된다. 더군다나 어떤 외부 호스트든 공인 IP가 맵핑된 패킷 보내기에 의해 내부 호스트로 패킷을 보낸다. Restricted Cone 목적지의 주소에 따라 NA..

Network 2009. 11. 19. 14:36
이전 1 2 3 다음
이전 다음
공지사항
  • 나에 대해서~
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • I am Not Okay
  • Jacking
  • Flexible Gameserver
  • 아름다운 네트웍 세상 since 1996.
  • 애자일 이야기
  • 류광의 번역 이야기
  • Joel on software
  • B-612
  • 디지털 보단 아날로그
TAG
  • RoR
  • CppSQLite
  • 조엘 온 소프트웨어
  • 디버깅
  • NDC2013
  • 임백준
  • 바로가기 프로그램
  • 엘키
  • svn
  • 루비
  • 게임데브포에버
  • 루비 온 레일즈
  • Ruby on Rails
  • 멀티스레드
  • perfmon
  • TDD
  • Rails
  • 좋은 프로그래머
  • ftp
  • MS-SQL
  • SDL
  • TraceRoute
  • EzShortcut
  • 리버스 엔지니어링
  • 디자인 패턴
  • 게임개발포에버
  • ruby
  • EasyExec
  • c언어
  • SQLite Spy
more
«   2025/08   »
일 월 화 수 목 금 토
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바