본문 바로가기

CS

(19)
TCP흐름 Wireshark로 확인해보기 개요간단한 테스트 서버를 만들고 TCP 연결을 서버와 클라이언트 간 해보았습니다.이 때 어떠한 패킷이 나가는지 와이어샤크로 확인해보고 이는 어떤 의미를 가지는지 확인해봅시다. 테스트 코드서버#include #include #include #pragma comment(lib, "ws2_32")#define SERVER_PORT 12345#define SERVER_IP L"127.0.0.1" //LOOPBACK#define MAX_BUF_SIZE 10000using namespace std;int main(){ WSAData wsaData; if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) { cout 클라이언트#include #include..
[네트워크 개념] 버클리 소켓 - 2 https://basaeng.tistory.com/57 [네트워크 개념] 버클리 소켓 - 1개요소켓 통신을 개념을 정리하기 위해 아래 책의 버클리 소켓 파트를 읽은 뒤 이를 바탕으로 소개해보겠습니다.https://product.kyobobook.co.kr/detail/S000001792473?utm_source=google&utm_medium=cpc&utm_campaign=googleSbasaeng.tistory.com 이어서 작성하겠습니다UDP 소켓UDP 소켓에서 데이터를 보내기 위해서는 sendto() 함수를 사용한다.https://learn.microsoft.com/ko-kr/windows/win32/api/winsock/nf-winsock-sendto sendto 함수(winsock.h) - Wi..
[네트워크 개념] 버클리 소켓 - 1 개요소켓 통신을 개념을 정리하기 위해 아래 책의 버클리 소켓 파트를 읽은 뒤 이를 바탕으로 소개해보겠습니다.https://product.kyobobook.co.kr/detail/S000001792473?utm_source=google&utm_medium=cpc&utm_campaign=googleSearch&gt_network=g&gt_keyword=&gt_target_id=aud-901091942354:dsa-1974044869918&gt_campaign_id=9979905549&gt_adgroup_id=132556570510&gad_source=1_network=g>_keyword=>_target_id=aud-901091942354:dsa-1974044869918>_campaign_id=99799055..
네트워크 원리 - 웹 브라우저 https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=437756 성공과 실패를 결정하는 1%의 네트워크 원리 : 알라딘브라우저에 URL을 입력하면 웹 페이지가 표시된다. 이것은 당연한 일이지만 그 이면에는 많은 기술들이 서로 연계해서 동작되고 있다. 바로 이러한 기술의 연계를 해설하고 있는 책. 성공과 실패www.aladin.co.kr해당 책을 읽고 정리한 내용입니다.URLURL은 Uniform Resource Locator의 약자로 네트워크 상에서 자원의 위치를 나타낸다. scheme://:@:/위와 같이 나타낸다. scheme: 프로토콜을 나타낸다user, password(option): id와 password를 사용할 수 있지만 평문으로 노출되기에 사용하지 않..
컴퓨터의 시간측정 응용 - FixedUpdate https://basaeng.tistory.com/28 컴퓨터의 시간측정개요코드의 성능 측정을 위해 시작 끝 지점의 시간을 구해서 사용하거나, n초 후에 어떤 로직을 실행해야 하는 등 코드를 만들 때 시간을 측정해야 하는 경우가 있다. 이 때 시간을 어떻게 받아basaeng.tistory.com 개요Unity같은 엔진에서는 FixedUpdate같은 프레임 보정 함수들이 있다. "간단하게는 항상 일정한 시간 간격으로 호출된다.(0.02s = 50fps)" 라고 말하지만 실제 0.02초마다 한번 보다는 1초에 50번을 보장한다 같은 느낌이 더 가깝다. https://docs.unity3d.com/6000.1/Documentation/ScriptReference/MonoBehaviour.FixedUpdate...
함수 호출 시 일어나는 일 개요함수 호출 시에 어떤 일들이 일어나는지를 알면, 코드 해석과 디버깅에 큰 도움이될 것이다.간단한 개념을 알아보자. 예시와 설명은 x86아키텍처 기준이다. 함수의 형태 () { // 함수 본문 // 필요에 따라 return문}함수의 기본 형태는 위와 같다. 반환 타입에 따른 데이터를 반환해주어야 하고, 매개변수 목록을 사용할 수 있다. push와 pop함수의 호출과 복귀를 위해서는 push, pop 명령의 이해가 필요하다.push, pop은 잘 알고 있듯이 스택에서 데이터를 넣고 빼는 용도이다.push a를 한다면, esp가 감소하고, 해당 위치에 a를 넣는다.pop a를 한다면 esp가 가리키는 값을 a에 넣고 esp가 증가한다.함수 진입 시(인자 없는 상황)void Test(){ int..
메모리관리, 페이징(Paging) 개요컴퓨터가 메모리 관리하는 법에 대해서 간단하게 살펴보며, 현대에서 사용하는 페이징 기법에 대해서 공부해보자. 논리, 물리 주소 공간CPU가 생성하는 주소를 논리주소, 메모리가 취급하는 주소를 물리 주소라고 부른다.실행 시간 바인딩 기법에서는 논리, 물리 주소가 서로 다르다. 이 때 논리 주소를 가상 주소 라고 부른다. 실행 중에 가상주소->물리주소 변환이 필요한데 이러한 작업은 하드웨어인 MMU(Memory Management Unit)이 한다.https://ko.wikipedia.org/wiki/%EB%A9%94%EB%AA%A8%EB%A6%AC_%EA%B4%80%EB%A6%AC_%EC%9E%A5%EC%B9%98 메모리 관리 장치 - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. 모..
컴퓨터의 CPU (3) - 캐시 메모리 https://basaeng.tistory.com/27 컴퓨터의 CPU (2) - 레지스터https://basaeng.tistory.com/7 컴퓨터의 CPU (1)메인 메모리를 알아봤으니 다음은 CPU이다.구매한 CPU는 가장 보급, 엔트리 급으로 많이 팔리는 라이젠 7500f이다. 개요CPU는 명령어 처리를 위해 메모리에 저basaeng.tistory.com레지스터에 이어 이번에는 CPU의 캐시 메모리에 대해서 알아보자. 개요캐시 메모리는 CPU에서 메인메모리의 데이터를 가져올 때 드는 비용을 줄이기 위해서 사용하는 하드웨어 캐시이다.RAM에 비해 CPU 코어에 더 가깝게 위치하며, 용량이 작고 빠르다. 보통 아래와 같이 메모리 계층을 표현한다. 상위 계층일 수록, 용량이 작고 속도가 빠르며 비싸다..