웹서버2 [C언어, 웹서버] Echo 클라이언트 (작성 중) Echo 클라이언트는 서버와의 연결을 수립한 이후에 클라이언트는 표준 입력에서 텍스트 줄을 반복해서 읽는 루프에 진입하고, 서버에 텍스트 줄을 전송, 서버에서 echo 줄을 읽어서 그 결과를 표준 출력으로 인쇄한다. Echo의 메인 함수는 아래와 같다. #include "csapp.h" int main(int argc, char **argv) { int clientfd; char *host, *port, buf[MAXLINE]; rio_t rio; if (argc != 3) { fprintf(stderr, "usage: %s \n", argv[0]); exit(0); } host = argv[1]; port = argv[2]; clientfd = Open_clientfd(host, port); Rio_r.. 2021. 2. 1. [C언어, 웹서버] open_clientfd / listen_clientfd 이번 시간에는 그림 1의 왼편에 나타나있는 open_clientfd를 알아보겠다. open_clientfd는 getaddrinfo부터 connect까지 담당해주는 파일이다. 우선 개요는 다음과 같다. #include "csapp.h" int open_clientfd(char *hostname, char *port); Returns: descriptor if OK, −1 on error 이 함수는 호스트명;char hostname 을 사용하는 클라이언트가 서버 포트;char port 와 연결하고, 클라이언트 디스크립터를 반환한다. 함수의 상세 코드는 다음과 같다. int open_clientfd(char *hostname, char *port) { int clientfd; struct addrinfo hi.. 2021. 1. 24. 이전 1 다음