mine__ral의 코딩 일지! 말지!
close
프로필 배경
프로필 로고

mine__ral의 코딩 일지! 말지!

  • 분류 전체보기
    • Language
      • Javascript
    • CS 일지!
      • HTTP 웹 통신
    • Algorithm
      • 삼성 SDS 알고리즘 특강 - C++ 코딩테스트 ..
      • 이것이 코딩 테스트다
      • 알고리즘 문제 해결 전략
      • 백준
      • 파이썬
    • Project
      • NFT 블록체인을 활용한 딥러닝 기반 사진 거래 ..
      • VR 기반 운전 시뮬레이션: 안전 "안전 운전만해..
      • 블록체인 게임 프로젝트
      • 자율주행자동차
    • Development
      • 유니티
      • Git 공부
      • Node.js
      • 게임 서버
      • Elysia.js
      • LangChain
      • Prompt Engineering
    • 삽질 일지!
  • 홈
  • 태그
  • 방명록
[Part 4 게임 서버] 네트워크 프로그래밍 5(Connector, TCP vs UDP)

[Part 4 게임 서버] 네트워크 프로그래밍 5(Connector, TCP vs UDP)

* 통용되는 용어 x: Listener의 반대 역할을 하는 Connector 1. DummyClient에서 서버와 Connect하는 부분이 Blocking 함수로 작성 -> 지양 2. ServerCore 프로젝트 우클릭 -> 추가 -> 새항목: Connector.cs 만들어야함. : 왜 굳이 반드시 연결해야하는 코드가 필요한가? 서버는 연결을 받는 것 아닌가? 1) Connect 후 Receive와 Send하는 부분을 고용으로 사용하기 위해 2) 서버를 분산처리 하여 만들 수 있음 ex) NPC, AI만 관리하는 서버 vs 몬스터만 관리하는 서버 등으로 분리할 수 있음 -> 이럴 때, 서버끼리 통신하기 위해서는 서버도 Connect 해야 한다. 3. Connector.cs 코드 작성 1) DummyCli..

  • format_list_bulleted Development/게임 서버
  • · 2022. 1. 19.
  • textsms
[Part 4] 회의 (wbs 작성, 유저 시나리오, 역할 나누기, 간트 작성)

[Part 4] 회의 (wbs 작성, 유저 시나리오, 역할 나누기, 간트 작성)

기획안 작성한 부분 다같이 검토 프로젝트 운전 시나리오 수정 시나리오를 4개의 부분으로 나누어 작성하기로 하였다. 일상 도로: 일반 도로를 VR로 구현하였다. 어린이 보호 구역: 어린이 보호 구역을 VR로 구현 주차: 주차를 난이도별로 VR로 구현 S자 곡선 도로: 사고가 많이 나는 S자 곡선 도로를 VR로 구현 프로젝트의 주요 기술 정의하도록 수정하였다. 현재, Google Doc으로 공유했던 기획안 문서가 사라져서 블로그에 공유할 수 없다. (언제나 백업이 중요하다는 것을 절실히 깨닫는다. ) 기획안의 내용이 거의 중간 보고서에 담겨 있음 시나리오: 아래와 같이 간단하게 작성하였음 (더 자세한 것은 이후의 블로그 참고!) 클래스 다이어그램 다음과 같이 간단하게 작성 WBS & 간트 작성 아래의 MS ..

  • format_list_bulleted Project/VR 기반 운전 시뮬레이션: 안전 "안전 운전만해" 프로젝트
  • · 2022. 1. 19.
  • textsms

[Part 4 게임 서버 ] 네트워크 프로그래밍 4 (Session #3, Session #4)

1. 이전시간 강의 회고 - Receive Buffer는 빈 Buffer로 연결 vs Send Buffer는 보낼 데이터가 담겨있는 Buffer - _sendArgs를 재사용하기 위해 클래스의 멤버 변수로 선언 -> rcvArgs도 재사용을 위해 멤버 변수로 가능(기호의 차이) using System; using System.Collections.Generic; using System.Linq; using System.Net.Sockets; using System.Text; using System.Threading; using System.Threading.Tasks; namespace SeverCore { class Session { Socket _socket; int _disconnected = 0;..

  • format_list_bulleted Development/게임 서버
  • · 2022. 1. 18.
  • textsms
[Part 4 게임 서버] 네트워크 프로그래밍 3(Session #1, Session #2)

[Part 4 게임 서버] 네트워크 프로그래밍 3(Session #1, Session #2)

1. 이전 시간 의문 a) 만약 RegisterAccept에서 계속 pending이 false면 OnAcceptCompleted 함수와 RegisterAccept 함수가 재귀적으로 호출되어 스택오버플로우 발생? - ListenSocket의 Listen에서 backlog를 통해 최대 대기수를 정해줬기때문에 동시다발적으로 false만 뜰 수 없음 -> 의도적으로 많은 User들이 공격하지 않는 이상 발생할 수 없음 b) Listen Socket을 하나만 만들었다. -> 굉장히 많은 User가 게임에 들어와서 서버와 통신을 하려고 할때 어떻게? - SocketAsyncEventArgs를 여러개 만들 수 있다. -> SocketAsyncEventArgs는 독립적으로 실행되기때문에 아래와 같이 for 문으로 여러..

  • format_list_bulleted Development/게임 서버
  • · 2022. 1. 16.
  • textsms
[Part 4 게임 서버] 네트워크 프로그래밍 2 (Listener)

[Part 4 게임 서버] 네트워크 프로그래밍 2 (Listener)

1. 이전 시간의 코드를 분리해서 정리 : Program.cs의 main 함수에 모든 것을 넣는 것이 아닌 Listener 소켓을 따로 빼어 정리 1) SeverCore 프로젝트 우클릭 -> 추가 -> 새항목 추가: Listener.cs 만들기 2) Listener 클래스에서 _listenSocket을 만든다 . 3) Init 함수를 구현하여 해당 함수 내에 _listenSocket 객체를 생성한다. -> 문지기기를 교육(endPoint 주소 할당) -> 영업을 시작하겠다는 Listen을 한다. class Listener { Socket _listenSocket; public void Init(IPEndPoint endPoint) { _listenSocket = new Socket(SocketType.S..

  • format_list_bulleted Development/게임 서버
  • · 2022. 1. 16.
  • textsms
[Part 4 게임 서버] 네트워크 프로그래밍 1(네트워크 기초 이론 ~ 소켓 프로그래밍 입문 #2

[Part 4 게임 서버] 네트워크 프로그래밍 1(네트워크 기초 이론 ~ 소켓 프로그래밍 입문 #2

1. 해킹 공격에서 안전해야함 악성 유저가 의도적으로 굉장히 많은 패킷을 보내어 서버를 마비 시키거나 패킷을 보내지 않는 등 다양한 네트워크 공격이 있을 수 있다. 2. 네트워크를 보내는 방식과 택배를 보내는 방식이 매우 유사 아파트 단지마다 경비실이 있고 택배 배송 센터가 있다. 1) 아파트 단지 내에서 택배를 주고 받을 때, 경비실을 거쳐서 배송받아야 한다면, 보내는 사람과 받는 사람의 호수만 알면 보낼 수 있다 2) 다른 아파트로 택배를 보내야할 때는, 경비실 -> 택배 배송 센터를 거쳐서 보내야한다. -> 이때는 호수뿐만 아니라 아파트 이름까지 다 알아야 보낼 수 있다. 3. 네트워크 기초 각각의 아파트 호수: 단말기 경비실: 스위치 택배 배송 센터: 라우터로 이해 1) 위의 1번의 경우는 같은 ..

  • format_list_bulleted Development/게임 서버
  • · 2022. 1. 14.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • ···
  • 10
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기
    • Language
      • Javascript
    • CS 일지!
      • HTTP 웹 통신
    • Algorithm
      • 삼성 SDS 알고리즘 특강 - C++ 코딩테스트 ..
      • 이것이 코딩 테스트다
      • 알고리즘 문제 해결 전략
      • 백준
      • 파이썬
    • Project
      • NFT 블록체인을 활용한 딥러닝 기반 사진 거래 ..
      • VR 기반 운전 시뮬레이션: 안전 "안전 운전만해..
      • 블록체인 게임 프로젝트
      • 자율주행자동차
    • Development
      • 유니티
      • Git 공부
      • Node.js
      • 게임 서버
      • Elysia.js
      • LangChain
      • Prompt Engineering
    • 삽질 일지!
최근 글
인기 글
최근 댓글
태그
  • #`
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바