[공학]클라이언트에서 서버에 접속할 때 서버에서 열어둔 포트로 접속되는 병행서버를 구현하라.(fork함수 활용)
- 최초 등록일
- 2007.01.28
- 최종 저작일
- 2006.11
- 6페이지/ 한컴오피스
- 가격 1,000원
소개글
tcp_echosev.c와 tcp_echocli.c를 수정하여 클라이언트에서 서버에 접속할 때 서버에서 열어둔 포트로 접속되는 병행서버를 구현하라.(fork함수 활용)
목차
과제 내용
tcp_echoserv_fork.c
echo_client.c
실행 결과 캡쳐
본문내용
#include <stdio.h>
#include <sys/fcntl.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#define BUF_LEN 128
#include <sys/signal.h>
#include <errno.h>
void child_catch()
{
int st;
printf("Child died \n");
wait(&st);
signal(SIGCLD, child_catch);
}
int main(int argc, char *argv[]) {
struct sockaddr_in server_addr, client_addr;
char buf[BUF_LEN+1];
int server_fd, client_fd;
int len, msg_size;
FILE *freader;
unsigned int set = 1;
if(argc != 2) {
printf("usage: %s port\n", argv[0]);
exit(0);
}
if((server_fd = socket(PF_INET, SOCK_STREAM, 0)) < 0) {
printf("Server: Can`t open stream socket.");
exit(0);
}
signal(SIGCLD, child_catch);
참고 자료
없음