네트워크 품질을 거론 할 떄 주로 패킷 유실, 전송 속도(쓰루풋, bps), 레이턴시를 척도로 언급스위치나 라우터도 컴퓨터, 데이터를 어디로 전달해야 할지 등을 판단하고자 기기 자체에 내장된 메모리를 엑세스하고, CPU 연산이 필요.결국 처리량이 많으면 과부하가 걸림.
OSI 모델의 계층 2에서는 데이터 단위를 프레임이라 하고, 계층 3에선 패킷이라 한다. 실제 네트워크나 서버 앱을 개발할 때는 이를 직접 다룰 일이 흔하지 않다. 대신 스트림과 메시지라는 것을 주로 다룬다.데이터의 흐름두 단말기를 연결한 후 그 연결을 끊기 전까지 한
프로그램이 데이터를 보내거나 받는 과정 => UDP 또는 TCP 소켓 통신단말기 사이에 통신할 수 있게 OS에서 제공하는 자원파일을 읽고 쓰려면 파일 핸들(file handle) 혹은 파일 디스크립터(file descriptor, fd)를 생성해야 하듯이, 통신을 하려
1) 핸드폰 준비 == 소켓 준비2) 식당 번호로 문의== 서버 주소로 connect3) 식당 안내원이 대리인에 연결, 식당 측과 대화 가능== 소켓을 통해 서버와 패킷 송수신 가능1) 식당 안내원 고용== Linstner 소켓 준비2) 안내원의 준비 과정 (식당 번호
reference: "TCP/IP 소켓 프로그래밍" / 김선우 / 한빛아카데미TCP 클라이언트가 보내준 데이터를 화면에 표시하는 TCP 서버 구현 예제이다.텔넷(telnet) 클라이언트(윈도우 OS에 내장)를 사용하여 구현한 TCP 서버 프로그램을 테스트할 수 있다.같
온라인 게임 프로그래밍과 같은 곳에선 소켓은 파일 핸들 방식과는 약간 다르다.서버에서 다루어야 하는 소켓 개수가 많다. TCP를 이용해서 통신해야 하는 경우 클라이언트 개수만큼 소켓이 있어야 한다.디스크를 읽거나 쓸 때 사용하는 read(), write() 함수는 호출
네트워킹 대상 개수만큼 쓰레드를 만들면 각 네트워크가 차지하는 전체 호출 스택의 크기가 커질 수 있고, 쓰레드 간 컨텍스트 스위치가 대량 발생하여 오버헤드가 커질 수 있다.대부분 OS에서는 소켓 함수가 블로킹되지 않게 하는 API를 추가로 제공한다. 이를 논블록 소켓이
reference:https://kotlinworld.com/75HTTP 프로토콜 통신도 결국 소켓 통신을 기반으로 한다. TCP 프로토콜 계층 위에 존재하는(응용 계층) HTTP 또한 소켓 통신을 기반으로 하고, IP와 Port 번호 등이 존재하는 TCP/I
플레이어 정보를 로컬 컴퓨터 안에 저장하는 것으로 충분특정 폴더(보통 사용자 프로필 폴더)에 저장저장 형태는 텍스트이거나 바이너리, 또는 해킹을 방지하고자 암호화된 형태로 저장로컬 컴퓨터에 플레이어 정보를 저장하면 문제가 발생(1) 플레이어가 자리를 옮겼을 때 자기가
만약 영한사전에 인덱스가 없으면 원하는 단어가 나올 때까지 모든 페이지를 다 훑어보아야 할 것이다. 반면 맨 뒤의 인덱스(index, 찾아보기)를 통해 원하는 단어를 찾은 후 그 단어가 나와있는 페이지를 펼치면 된다.마찬가지로 DB에서도 이러한 인덱스 기능을 쓸 수 있
플레이어 데이터는 다양한 형태의 데이터 구조로 되어있다.최상위에는 ID, 암호화된 비밀번호, 실제 이름 같은 플레이어 자신의 정보가 있다.그 밑에는 플레이어가 가진 플레이어 캐릭터가 하나 이상이 있다. 캐릭터의 이름과 플레이어 종족, 레벨, 기타 능력치 등이 있다.그리
(1) 플레이어 ID와 비밀번호 얻기(2) 플레이어가 가진 캐릭터들의 이름 얻기(3) 플레이어가 가진 캐릭터 하나에 대한 모든 정보(필드)를 얻기캐릭터가 몹 사냥 후 경험치를 획득하여 경험치 관련 레코드의 필드를 업데이트캐릭터가 아이템 3개 중 1개를 소모하여 2개가
source: https://velog.io/@98kimjh/Database-NoSQL-Conceptsource: https://hanamon.kr/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-sq
JSON에서 {} 구문은 객체라고 지칭함. 그리고 객체 안에는 필드 이름과 필드 값이 들어감. 즉, 키(key)와 값(value)의 쌍이다. 값에는 문자열, 숫자 말고도 다른 객체를 넣을 수도 있다.ex)MongoDB는 JSON을 적극 활용한다. MongoDB에서 다루