본문 바로가기

server14

배경지식 - API Web 서버 방식의 게임 서버에서는 Web API를 사용하여 서버를 구축 API Application Programming Interface의 약자로 응용프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만드는 인터페이스를 뜻함 일종의 규약으로 애플리케이션 개발자들이 다른 애플리케이션을 사용할 수 있도록 표준화된 방법을 제공 즉 프로그램들과 데이터베이스, 기능들의 상호 통신 방법을 규정하고 도와주는 매개체로 사용됨 REST REpresentational State Transfer의 약자로 웹 기반의 소프트웨어 아키텍처 스타일 중 하나 웹 리소스를 사용하여 클라이언트와 서버 간의 통신을 수행하는 방법을 규정 HTTP URI를 통해 자원(Resource)을 명시하고,.. 2023. 4. 19.
배경지식 - HTTP 웹 서버 방식에서는 기본적으로 HTTP 프로토콜을 사용하여 통신을 함 따라서 우선적으로 HTTP 프로토콜이 어떤 것이고, 어떤 식으로 작동하는지 알아야 할 필요가 있음 HTTP Hyper Transfer Protocol의 약자로 TCP/IP 프로토콜 집합에 속함 HTTP 통신은 크게 리퀘스트(Request)와 리스폰스(Response)로 이루어져있음 클라이언트에서 서버로 보내는 요청이 리퀘스트 클라이언트의 요청에 대한 서버의 응답이 리스폰스 HTTP 통신은 상태를 유지하지 않는 stateless 프로토콜 stateless : 서버가 각 세션에 대한 값을 메모리에 저장하지 않기 때문에 클라이언트의 상태를 기억하지 못함 따라서 서버가 유지해야 하는 자원의 양이 줄어듬 단, 이전의 리퀘스트 및 리스폰스 정보를.. 2023. 4. 19.
Chapter 3 - 네트워크 프로그래밍 (2) TCP 서버 실습 클라이언트에서 데이터 송신 - 서버에서 수신 - 수신한 데이터를 다시 클라이언트에 송신 - 클라이언트에서 수신 // DummyClient.cpp int main { // socket() -> connect() ... ... // ---------------- // 연결 성공! 데이터 송수신 가능 cout 2023. 3. 29.
Chapter 3 - 네트워크 프로그래밍 (1) 소켓 프로그래밍 기초 #1 손님 : 핸드폰 준비 - 식당 번호로 문의 - 대리인을 통해 식당 측과 대화 가능 손님 = 클라이언트 핸드폰 = 소켓 식당 번호 = 서버 주소 소켓을 통해 서버와 패킷 송수신 가능 식당 : 안내원 고용 - 안내원 교육(대표 번호 배정) - 영업 시작 - 대리인에 안내 식당 = 서버 안내원 = Listener 소켓 안내원 교육 = Bind(서버주소/포트를 소켓에 연동) 영업 시작 = Listen 안내 = Accept(별도의 소켓에 연결) 클라이언트 세션을 통해 통신 가능 소켓 프로그래밍 기초 #2 // DummyClient.cpp #include #include #include #pragma comment(lib, "ws2_32.lib") int main() { // winsoc.. 2023. 3. 29.