[리눅스] 서버 클라이언트 이용 로그인 프로그램
- 최초 등록일
- 2018.05.01
- 최종 저작일
- 2017.10
- 8페이지/ 한컴오피스
- 가격 2,000원
목차
1. 코드
2. 실행결과
3. 고찰사항
본문내용
Final Project #1
(1) Server-Client Model(Project#1)
- Multiple users can access the server. (server concurrency)
- Each user has to log-in the server with ID/PW
코드
[서버]
1~9 : C언어의 표준 라이브러리 함수의 매크로 정의, 상수, 문자열, 소켓 등의 입출력 함수가 포함된 헤더 파일을 포함한다.
10~23 : #define을 이용해 서버의 IP 주소와 PORT 번호, 사용자의 ID와 비밀번호, 로그인 완료와 실패 메시지와 같은 매크로를 정의한다.
28 : 커넥터용 연결을 기다리는 sockfd와 통신용 new_fd 변수를 선언
31~35 : 내가 프로그램을 작동시킬 때 사용하는 주소와 기기의 고유 주소를 나타내는 변수를 선언 후 사이즈를 측정하는 변수 선언
38~47 : 그 외 버퍼 크기나 ID, PW와 메시지를 받을 변수 선언
48~54 : 소켓을 생성하는 함수 socket()를 이용하여 소켓을 생성한다. 성공하면 0을 반환하지만 실패할 경우 –1을 반환하며 에러문과 함께 프로그램을 종료시킨다.
56~65 : htons() 함수를 이용하여 포트 번호(SERV_PORT = 4322)를 short형 호스트 바이트 순서를 네트워크 바이트 순서로 변경한다. inet_addr() 함수를 이용하여 수와 점으로 표기된 IP주소(SERV_IP = 220.149.128.102)를 long형으로 된 IP주소로 변경한다.
메모리를 초기화하는 함수 memset을 사용하여 0으로 초기한다.
67~73 : bind() 함수를 사용하여 IP주소와 PORT번호를 할당한다. 성공할 경우 0을 반환하고 실패할 경우 –1을 반환하며 에러문과 함께 프로그램을 종료시킨다.
75~81 : listen() 함수를 사용하여 연결 요청 가능상태를 변경한다. 성공할 경우 0을 반환하고 실패할 경우 –1을 반환하며 에러문과 함께 프로그램을 종료시킨다.
참고 자료
없음