일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래밍 기초
- Toon Shader
- ColorGradingLutPass
- Virtual Byte
- AppSW
- 3d
- Cartoon Rendering
- Specular
- Three(Two) Tone Shading
- Rim Light
- Cell Look
- Windows Build
- URP
- OculusMotionVectorPass
- 벡터
- Cell Shader
- Private Bytes
- ASW(Application SpaceWarp)
- VR
- 가상 바이트
- working set
- 작업 집합
- URP로 변경
- 메모리 누수
- C언어
- 개인 바이트
- 게임 수학
- Today
- Total
목록게임 프로그래밍(학습 내용 정리)/네트워크 프로그래밍 (10)
WinCNT
데이터를 어떻게 해석할 것인가 1. 문자 집합과 문자열은 다르다 다른 걸 어떻게 알 수 있지?(해석의 단초) Null Terminate 문자열 조작 실수 중에 오버플로우 문제 10바이트 배열에 문자 10개를 넣으면 버그가 발생한다... (하도 실수를 많이해서 _s가 붙은 함수가 생김) 2. 문자 --> 문자를 해석하는 단위 1바이트 --> char burffer[10] 2바이트 --> wchar wBuffer[10] 4바이트 --> int intBuffer[10] 멀티바이트와 유니코드 멀티바이트 : 문자를 해석할 때 해석할 때마다 바이트 수가 다름 유니코드 : 문자를 해석할 때 고정 바이트로 해석함 (고정 바이트의 크기는 2byte 혹은 4byte) 사실 유니코드 자체는 유니코드는 국제표준 문자표일 뿐이..
1. 블로킹 모델 읽을 것이 있을 때까지 대기하는 모델 2. Async(혹은 Event) 읽을 것이 있으면 그 때 (호출이 와서) 읽음 하지만 싱글 스레드로 구성할 경우는 계속 호출이 왔는지 확인하므로 결과적으로는 블로킹 모델과 비슷하게 동작한다 (그러니 대부분은 멀티 스레드로 구현한다) 3. IOCP(Input/Ouptput Completion Port) 읽을 것이 있으면 포장해서 줌 오버랩드(Overlapped) 구조체를 이용해서 비동기로 읽음 필연적으로 Recv를 스레드가 필요하고 완료됐는지 확인이 필요하다 CP : Complition Port 수신된 게 있으니 가져가서 처리하라고 알려줌 특성에 맞게 코딩하자 SSS
네트워크 프로그래밍과 서버 프로그래밍이란? 게임 서버를 만든다는 것과 게임 서비스란? 네트워크 게임과 온라인 게임이란? OOP과 메시지 큐 객체 간의 관계가 있고 서로 통신한다 객체에 큐를 달고 보내고 싶은 메시지를 Send하면 된다 예를 들어 네트워크에서 클래스ID와 Move를 받았으면 바로 Move를 호출하는 것이 아니라 해당 클래스 객체의 메시지 큐에 Move라는 메시지를 push할 뿐!! 객체는 주어가 될 수 있으며, 능동적일 수도 있고 수동적일 수도 있다 (데이터는 목적어) 객체 간의 통신은 큐에 메시지를 넣는 방식을 취한다 데이터를 어떻게 처리할 것인가? 클라 서버 요청과 응답 클라이언트와 서버의 관계 극단적인 예 1. 서버가 없는 싱글 게임인 경우 2. 클라는 터미널 역할만 하고 나머지 모든..
보호되어 있는 글입니다.
4계층: 응용 계층 TCP/UDP 기반의 응용 프로그램 3계층: 전송 계층 프로세스 간의 신뢰성 있는 데이터 전송을 담당 TCP, UDP 2계층: 인터넷 계층 호스트 간의 라우팅 담당 인터텟 프로토콜 > IP 패킷을 만듬 { IP 헤더 + 데이터} 주소 변환 프로토콜 > ARP(IP --> MAC), RARP(MAC --> IP) 상태진단프로토콜 > ICMP 1계층: 네트워크 인터페이스 계층 Node-To-Node간의 신뢰성 있는 데이터 전송을 담당 물리적인 주소로 MAC 사용 에러 검출 기능, 패킷의 프레임화 https://www.itworld.co.kr/tags/6436/%ED%94%84%EB%A0%88%EC%9E%84/106484 이더넷 프레임과 패킷의 차이 이더넷 데이터에 대해 이야기할 때, 프레..
성공과 실패를 결정하는 1%의 네트워크 원리의 2장의 일부를 참고해서 정리한 글입니다 1. 소켓을 작성한다 프로토콜 스택: OS에 내장된 네트워크 제어용 소프트웨어 네트워크 통신을 하기 위한 요청 준비라고 생각하자 프로토콜 스택은 OS가 관리한다 주소 - 내 컴퓨터(LAN 카드 - NIC) 프로세스 - 패킷을 송수신 - 포트 번호로 패킷을 주고 받음 netstat -ano 네트워크 스테이트 현재 생성된 모든 소켓을 보여준다 nslookup 도메인 네임에 매핑된 IP 주소를 알려준다 tracert 트레이스 라우트 특정사이트에 접속하기 까지의 IP 경로 추적 ICMP(Internet Control Message Protocol) 소켓의 실체는 통신 제어용 제어 정보 프로토콜 스택은 내부에 제어 정보를 기록하..
데이터는 메모리에 있다 네트워크는? 로컬에 데이터가 없다 우선 전기 신호에 따라서 LAN 카드에 데이터가 도착한다 하지만 받을 준비를 하지 않으면 데이터가 메모리에 올라오지 않아서 응용 계층에서는 사용할 수 없다 데이터를 받을 준비가 바로 소켓이다 TCP와 UDP는 프로토콜 규약(약속)이다 규약에 대해 이해하고 사용해야 한다 소켓은 OS에게 네트워크 통신을 할 것이라고 알려주는 것 소켓을 생성할 때, TCP 소켓을 생성할지 UDP 소켓을 생성할지 결정해야 한다 UDP 패킷은 정렬되지 않은 순서로 도착하며 유실 또한 발생한다 TCP 패킷은 순서와 도착을 보장한다 왜 알아야 하나? --> 트러블 슈팅을 위해서 TCP의 좀비 PC 등 TCP의 세션은 1 대 1, 소켓마다 버퍼가 생긴다 UDP는 1 대 다 따라..
TCP/IP 4계층과 소켓 인터넷의 핵심인 TCP/IP는 데이터 전송 과정에서의 역할에 따라 응용 계층, 전송 계층, 인터넷 계층, 네트워크 인터페이스 계층이라는 4개의 계층으로 구성된다 응용 계층과 전송 계층을 소통하기 위해 사용하는 것이 Socket이다 이 Socket을 프로그래밍하므로써 응용 계층에서 송수신 데이터를 다룰 수 있게 된다 소켓이란? 네트워크에서 소켓이란 컴퓨터 네트워크를 경유하는 프로세스 간 통신의 종착점이다 오늘날 대부분의 통신은 인터넷 프로토콜을 기반이므로, 대부분의 네트워크 소켓은 인터넷 소켓이다. 네트워크 통신을 위한 프로그램들은 소켓을 생성하고, 이 소켓을 통해서 서로 데이터를 교환한다 전송 계층, 인터넷 계층, 네트워크 인터페이스 계층의 데이터들은 응용 계층에서 다룰 수 없..
컴퓨터 통신과 네트워크의 3가지 구성 요소 네트워크에서 ① 두 대 이상의 컴퓨터, ② 데이터가 이동하는 통로인 전송매체, ③ 데이터의 이동을 돕는 네트워크 장비(클라우드 아이콘)가 서로 연결되어 데이터 통신을 한다. 따라서 네트워크는 ① 컴퓨터, ② 전송 매체, ③ 네트워크 장비로 구성된다 네트워크 : 컴퓨터와 컴퓨터를 연결하여 데이터를 주고받을 수 있게 하는 시스템 데이터 통신(Data Communication), 혹은 컴퓨터 통신(Computer Communication) 네트워크에서 컴퓨터 간에 데이터를 보내고(송신) 데이터를 받는(수신) 것 네트워크 장비가 다르지만 규약이 같기 때문에 통신할 수 있다 다시 말해, 인터넷은 거대한 협력을 기반으로 가능하게 된 것이다 1. 컴퓨터 데이터 통신의 주체는..
소켓 Unix가 시초, 버클리 대학에서 만들었다 그 이후 각각의 운영체제에 맞게 개발되었다 소켓 통신 Client에 소켓을 만들고, 서버에도 하나 만들자 그 다음에는 소켓에 IP주소를 부여하자 OS 입장에서는 어떤 프로세스에게 부여할지 알아야 한다 그 때 필요한 것이 Port 채팅 클라이언트 - 채팅 서버를 예로 들어보자 클라이언트에서 데이터를 LAN카드를 통해 보내자 서버의 LAN카드에 도착(IP주소를 알테니) 그 다음 포트로 채팅 서버를 찾을 것이다 그 때 도착한 데이터는 소켓 버퍼 안에 담긴다 소켓을 많이 만들면 소켓마다 버퍼를 만들 테니 메모리를 많이 차지한다 소켓 버퍼는 커널 영역이므로, 소켓 버퍼를 많이 만들면 결국 터져서 블루 스크린이 터질 것이다 FTP와는 다르다 FTP는 소켓 하나에 데이..