소켓을 이용한 프로그래밍은 어떻게하는거죠??ㅜㅜ
글쓴이: didiradi / 작성시간: 일, 2013/04/28 - 12:06오전
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
int main(void)
{
pid_t pid;
int i,t[50];
char str[5][50];
for(i = 0; i<50;i++)
{
scanf("%d %s",&t[i],str[i]);
pid=fork();
if(pid < 0)
{
printf("fork not available\n");
}
else if(pid == 0) // child
{
sleep(t[i]);
printf("%s\n",str[i]);
exit(0);
}
else
{
// wait(NULL);
// printf("Parent\n");
}
}
return 0;
}입력을 10 hello
8 hi
4 nono
이렇게 하였을때
출력이 nono
hi
hello 앞에 있는 시간에 따라 먼저 출력되는 프로그램입니다. 이것은 쓰레드로 구성한것인데요
soket과 fork()을 이용하여 똑같은 프로그램을 짜려고하는데 어떻게 수정해야되죠?ㅜㅜ
Forums:


원하시는것이 이 코드가 맞나요?
fork를 왜 사용하는지랑
소켓을 왜 사용하는지에 대한 질문을 다시 하셔야 할거 같습니다.
#include <stdio.h> #include <stdlib.h> #include <sys/types.h> int main(void) { pid_t pid; int i,t[50]; char str[5][50]; for(i = 0; i<2;i++) { printf("\n"); printf("input : "); scanf("%d %s",&t[i],str[i]); pid=fork(); printf("pid : %d\n", pid); if(pid < 0) { printf("fork not available\n"); } else if(pid == 0) // child { // sleep(t[i]); printf("%s\n",str[i]); exit(0); } else { wait(NULL); printf("Parent\n"); } } printf("\n"); printf("result ---------------\n"); for(i = 2-1; i>=0; i--) { printf("%d %s\n",t[i],str[i]); } system("pause"); return 0; }----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기