채팅 프로그램 소스
본 자료는 2페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
해당 자료는 2페이지 까지만 미리보기를 제공합니다.
2페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

과제 1 : 채팅 서버 프로그램

과제 2 : 채팅 클라이언트 프로그램

본문내용

_addr(argv[1]);
server_addr.sin_port = htons(atoi(argv[2]));
maxfdp1 = s + 1;
FD_ZERO(&read_fds);
/*******************************************************************************************
이 부분은 처음 클라이언트가 서버로 접속을 할시 처음으로 접속한다는 표시를 해주기 위한 부분으로서 '추카추카'메세지를 보내게 된다.
*******************************************************************************************/
length = sizeof(server_addr);
sendto(s,start,strlen(start),0,(struct sockaddr *)&server_addr,length);
/*******************************************************************************************
이 루프는 TCP의 챗팅 클라이언트 와 거의 같은 부분입니다. 단지connect가 없고 보내고 받고 하는 부분입니다. 단지 다른 클라이언트에서 들어오는 메세지를 고려해서 select를 이용해서 비동기 형태로 만들었다.
*******************************************************************************************/
while(1)
{
FD_SET(0, &read_fds);
FD_SET(s, &read_fds);
if(select(maxfdp1, &read_fds, (fd_set *)0, (fd_set *)0, (struct timeval *)0) < 0)
{
printf("select error\n");
exit(0);
}
if (FD_ISSET(s, &read_fds))
{
int size;
length = sizeof(from);
if ((size = recvfrom(s,message,MAXLINE+1,0,(struct sockaddr *)&from,&length)) > 0)
{
message[size] = '\0';
printf("%s \n", message);
}
}
if (FD_ISSET(0, &read_fds)) {
if(fgets(message, MAXLINE, stdin)) {
sprintf(line, "%s %s", name, message);
length = sizeof(server_addr);
if (sendto(s,line,strlen(line),0,(struct sockaddr *)&server_addr,length)
< 0)
printf("Write error on socket.\n");
if (strstr(message, escapechar) != NULL )
{
printf("안녕히 가세요!!\n");
close(s);
exit(0);
}
}
}
}
}

키워드

  • 가격1,300
  • 페이지수7페이지
  • 등록일2005.10.19
  • 저작시기2005.10
  • 파일형식한글(hwp)
  • 자료번호#316332
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니