function(method) -> Library -> API -> Framework
1. function -> 프로그램에서 실행하는 Action
2. Library -> 공통적인 기능의 메소드의 집합
3. API -> 특정 기능 구현을 위해 라이브러리를 모아놓은 집합
4. Framework -> API의 집합 : 플랫폼, 회사 별로 제공되는 API의 집합
TCP / IP (소켓 통신), 방화벽 (1, 2)
엔진 / 회사별 기능 제공 (3, 4)
네트워크 만들 때 주의점: 네트워크를 프로그래밍 한다기보단 얹는 형식으로 생각
네트워크 게임 엔진 - 주로 유니티에서는 Photon 사용
Server - Client
프로토콜 보내는 하나의 단위가 패킷 (비행기 <-> 관제탑 서로 통신, 관제탑의 유도로 비행기가 움직여서 관제탑이 서버인 느낌)
컴퓨터 - 공유기 - 모뎀
L1 물리계층 - 물리적인 하드웨어 (공유기, 모뎀, 랜선)
L2 공유기에서 맥 주소를 할당 (신뢰성 체크)
L3 컴퓨터에서 IP 할당 (신뢰성 체크)
L4 게임회사와 내 컴퓨터 사이에 게임 주고받고 하는 그런걸 Packet 보내면서 (신뢰성 체크)
L5 상대방과 연결이 되어있는지
L6 암호화 - 패킷의 암호화 (이번에 넥슨에서 안해서 날리났었던)
L7 내용 보내기
P2P
peer to peer / point to point => 중앙 서버를 통하지 않고 클라이언트끼리 연결하는 것
외부 IP주소에서 들어오는 신뢰성 없는 패킷을 검열하기 위해 만든 것: 방화벽
E-R 다이어그램
네모: 개체 (단독으로 존재)
마름모: 관계
동그라미: 속성
db에서 모든 정보를 json으로 가지고 있지 않음
외부를 참조하는 식
APi / Library
.dll은 library에 가까움 (직접 만들수도 있음)
'공부 > Unity' 카테고리의 다른 글
[Unity] 도전 2주모작 오버쿡드(1) 스팀게임 애셋 뜯고 (Asset Studio), 플레이어 이동, 접시 들기 등 (0) | 2023.06.22 |
---|---|
[Unity] Photon과 aws를 이용한 멀티 설정 (0) | 2023.06.15 |
[Unity] For The King 확률 구현 - 유니티에서 팩토리얼, 컴비네이션 구현 (2) | 2023.05.18 |
[Unity] 좀비 서바이벌 - post processing, 좀비스폰, UI, 람다식, 싱글톤 (0) | 2023.05.03 |
[Unity] 좀비 서바이벌 동그란 체력바 + 좀비 Ai (nav) + 피격판정 (0) | 2023.05.02 |