CS/네트워크, 서버 13

Socket Options

Socket Option이란 우리가 네트워크 통신을 위해 사용하는 Socket은 기본 사용법 대로만 하면 기본적인 통신하는 데에 문제가 없지만, Socket의 세부 옵션 설정을 통해 더 원하는 동작을 구현할 수 있다. 그것은 setsockopt 함수를 사용해서 가능하다. 또한 getsockopt 함수를 통해 현재 설정된 소켓의 옵션을 확인할 수도 있다. setsockopt 함수의 기본 사용법 setsockopt 함수는 보통 다음과 같은 형태로 사용한다. setsockopt(, , , , ); 여기서 이란 우리가 설정 할 주인공(?)의 레벨을 말한다. 예를 들면 우리가 설정 할 옵션이 소켓의 옵션인지, IPv4의 옵션인지, TPC 프로토콜의 옵션인지를 정하는 인자이다. 따라서 소켓의 옵션을 설정해주고 싶다..

NAT(Network Address Translation)

NAT이란? NAT(Network Address Translation)은 네트워크 주소 변환이라고 해석된다. 그럼 무엇을 어떻게 변환해주느냐? Internal(Private) Address와 External(Public) Address를 변환해주는 것이 NAT이다. 여기서 Internal Address와 eAddress가 무엇인지 알 필요가 있다. 사실 Internal IP Address와 Internal Port, External IP Address와 External Port가 있는데 그냥 내맘대로 묶어서 Internal Address와 Private Address로 불렀음. Internal Address : 내부 주소라는 뜻으로, Private Address, 사설 아이피 등으로도 불린다. IANA(..

웹 서버 vs 게임 서버

서버를 식당에 비유해본다면 웹 서버는 테이크아웃 식당, 게임 서버는 일반 식당에 비유할 수 있다. 테이크아웃 식당은 손님에게 음식을 주고 보내면 그 후로는 연락이 끊겨버린다. 일반 식당은 손님이 머물면서 식사를 하고 그 동안 직원과 손님이 실시간 교류가 있다. 웹서버 : 손님에게 먼저 접근할 일이 없다(stateless ). 웹 서비스 만드는데 사용, 프레임워크 골라서 사용., Spring, Nodejs 등 게임 서버 : 실시간 상호작용, 언제든 손님에게 접근 가능해야함. 손 님이 있는 동안 최상의 서비스 제공(Stateful) 게임 서버는 게임 장르, 형태에 따라 요구사항이 매우 다르기 떄문에 정형화된 프레임워크가 존재하기 힘듦. 제작 고려사항 최대 동시 접속자, 게임 장르 및 채널링, 게임 로직, 네..