리눅스로 만든 에코프로그램 서버입니다.
- 최초 등록일
- 2010.06.10
- 최종 저작일
- 2009.06
- 2페이지/ 한컴오피스
- 가격 1,000원
소개글
Echo 에코 프로그램 Server 리눅스
/* 헤더파일 선언 */
#include
#include
#include
#include
#include
#include
#include
#define BUFSIZE 1024 // 메시지를 저장할 크기를 정의
void error_handling(char *message); // error_handling 함수 프로토타입 선언.
목차
없음
본문내용
#define BUFSIZE 1024 // 메시지를 저장할 크기를 정의
void error_handling(char *message); // error_handling 함수 프로토타입 선언.
/* main 함수 */
int main(int argc, char **argv) // port정보를 인자로 받음.
{
int serv_sock; // server 디스크립터를 저장할 변수선언.
int clnt_sock; // client 디스크립터를 저장할 변수선언.
char message[BUFSIZE]; // 메시지를 저장할 배열선언.
int str_len; // 수신받은 데이터의 크기를 저장할 변수선언.
struct sockaddr_in serv_addr; // server의 주소정보를 저장할 구조체변수선언.
struct sockaddr_in clnt_addr; // client의 주소정보를 저장할 구조체변수선언.
unsigned int clnt_addr_size; // client 정보 구조체의 크기를 저장할 변수선언.
if(argc != 2) { // port정보가 올바르지 않다면if문 실행.
printf("Usage : %s \n", argv[0]); // error정보 출력.
exit(1); // 프로그램 강제종료.
}
serv_sock = socket(PF_INET, SOCK_STREAM, 0); // 소켓 생성.
if(serv_sock == -1) // 소켓 생성 실패시 if문 실행.
error_handling("socket() error"); // error_handling 함수 실행
memset(&serv_addr, 0, sizeof(serv_addr)); // 인자로 전달된 구조체 변수를 0으로 초기화.
serv_addr.sin_family = AF_INET; // 프로토콜 체계 설정.
serv_addr.sin_addr.s_addr = htonl(INADDR_ANY); // 네트워크 바이트 순서 -> 32비트 ip값으로 변환.
참고 자료
없음