목차
network programming
socket stream을 이용한 server/client echo program
**** 동작 ****
**** 구현원리 *****
**** socket system 호출 ****
**** 기본알고리즘 ****
******* SOURCE CODE *******
******* inet.h *******
******* server.c ********
******* client.c ********
socket stream을 이용한 server/client echo program
**** 동작 ****
**** 구현원리 *****
**** socket system 호출 ****
**** 기본알고리즘 ****
******* SOURCE CODE *******
******* inet.h *******
******* server.c ********
******* client.c ********
본문내용
_INET,SOCK_STREAM,0))<0) {
printf("Client : can't open stream socket");
exit(1);
}
/* 서버에 접속 */
if (connect(sockfd,(struct sockaddr *)&serv_addr,sizeof(serv_addr)) <0)
{
printf("Client : can't connect to server");
exit(1);
}
for (;;) {
scanf("%s",paket);
/* 소캣에 데이터를 쓴다 */
if (strcmp(paket,Exit)==0) break;
if (write(sockfd,paket,sizeof(paket))<0) {
printf("Client : write error");
exit(1);
}
/* server로 부터 메세지를 받는다 */
if ((len=read(sockfd,buff,MAXBUFSIZE)) <=0) {
puts("Client : read error");
exit(1);
}
/* 받은 부분을 출력한다 */
printf("%s\n",buff);
bzero((char *)&buff,sizeof(buff));
}
close(sockfd);
}
printf("Client : can't open stream socket");
exit(1);
}
/* 서버에 접속 */
if (connect(sockfd,(struct sockaddr *)&serv_addr,sizeof(serv_addr)) <0)
{
printf("Client : can't connect to server");
exit(1);
}
for (;;) {
scanf("%s",paket);
/* 소캣에 데이터를 쓴다 */
if (strcmp(paket,Exit)==0) break;
if (write(sockfd,paket,sizeof(paket))<0) {
printf("Client : write error");
exit(1);
}
/* server로 부터 메세지를 받는다 */
if ((len=read(sockfd,buff,MAXBUFSIZE)) <=0) {
puts("Client : read error");
exit(1);
}
/* 받은 부분을 출력한다 */
printf("%s\n",buff);
bzero((char *)&buff,sizeof(buff));
}
close(sockfd);
}
소개글