본문 바로가기

전체 글121

웹서버 구현 간단한 http 서버를 구현하기 위한 코드다 과정 (1). 윈도우 소켓 헤더 및 윈도우 소켓 라이브러리 링킹 (2). main 함수로 들어와서 웹서버 구현에 필요한 인수들 설정 (3). 윈도우 소켓 초기화 (4). 소켓 생성 (5). 소켓 설정 (6). 소켓 옵션 설정 (7). TCP클라이언트로 부터 접속 요구를 대기 (8). 응답용 http 메시지 작성 (9). 소켓 생성이 완료되었다는 가정에 http 메시지 송신하기까지의 과정 (10) 윈도우 소켓 종료 2. 결과 및 실행화면 (1) 콘솔창 **콘솔창을 끄지 않은 채로** http://127.0.0.1:333 로 접속 (2) 실행화면 간단한 http 서버 구현 성공 (3) 페이지 접속 후 콘솔창 2020. 3. 9.
웹 서버 & 클라이언트 채팅 프로그램 1. client.cpp (1) 윈도우 소켓 헤더 및 윈도우 소켓 라이브러리 링킹 (2) server의 port 번호와 ip 주소 정의 (3) 인수 설정 및 초기화 2. server.cpp 2020. 3. 6.
effective modern c++ chap.4 1. 소유권 독점 자원의 관리에는 std::unique_ptr를 사용하라 std::unique_ptr: 독점 소유권 의미론을 가진 자원의 관리를 위한, 작고 빠른 이동 전용 스마트 포인터 - 생 포인터와 같은 크기 - 널이 아닌 항상 자신이 가리키는 객체를 소유(즉, 이동 시 소유권이 원본 포인터에서 대상 포인터로 옮겨짐) - 복사가 허용되지 X - 널이 아닌 std::unique_ptr는 소멸 시 자신이 가리키는 자원을 파괴 - 개별 객체를 위한 것(std::unique_ptr)과 배열을 위한 것(std::unique_ptr)으로 분류 - 기본적으로 자원 파괴는 delete를 통해 일어나나, 커스텀 삭제자를 지정 가능 ex) - std::unique_ptr를 std::shared_ptr로 손쉽게 변환 .. 2020. 3. 2.
C/C++ windows Socket Programming tutorial 1. 개념 정리 (1). 소켓이란 • 네트워크를 경유하는 프로세스 간 통신의 접속점 • 프로그램 간에 클라이언트와 서버가 통신할 수 있게 하는 역할 • 네트워크 프로그래밍에서 request, receive 패킷 등등을 캡슐화 시킨 형태 (2). 동작 과정 >서버 socket()->bind() 소켓을 서버의 로컬 ip 주소, 포트와 연결(클라이언트에게서 요청을 받을 통로를 여는 과정) listen() 클라이언트의 요청을 기다림 accept() 요청을 받아들임 >클라이언트 socket() 소켓 생성 connect() 연결 요청 2. 실습 - google에 http 요청 보내는 코드 작성 전처리기: 임의의 소스 파일을 가져와서 브라우저가 이해할 수 있는 것으로 변환시켜주는 도구 WASADATA 즉 스타트업 구.. 2020. 3. 2.