• LF몰 이벤트
  • 파일시티 이벤트
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

시스템프로그래밍 Lecture13. Select

*지*
개인인증판매자스토어
최초 등록일
2015.01.04
최종 저작일
2013.06
14페이지/한글파일 한컴오피스
가격 1,000원 할인쿠폰받기
다운로드
장바구니

소개글

수정할 곳 없는 정말 완벽한 보고서입니다.
보고서 쓰시는데 도움이 되었으면 좋겠습니다.

목차

Lecture13 : Select
1) Get cli-ping.c and serv-ping.c from eclass, and compile them. Run the server first and run client 3 times each in different window. Check if the server can handle multiple clients.
2) Implement a chatting server that can handle multiple clients. The server relays conversations between two clients. The server maintains login ids and passwords for the clients. The client can choose which one to talk with. At any moment multiple pair of clients can talk at the same time.

본문내용

먼저 vi인 텍스트에디터를 이용하여 다음과 같이 cli-ping.c와 serv-ping.c를 작성하고, 소스파일을 컴파일하고 실행하면 다음과 같이 출력됨을 볼 수 있다.
위의 그림은 문제에 적혀있는 대로 서버용 terminal 1개와 클라이언트용 terminal 3개를 이용해 ping-pong-pang-pung message를 주고받은 결과이다. 클라이언트가 접속될 때마다 서버에는 이를 알리는 message(Cli arrived at socket : Number)가 출력된다. 만약 클라이언트가 “ping”이라는 message를 서버에 보내면 서버는 이를 확인한 뒤 해당 클라이언트에 “pong”이라는 message를 보낸다. 마찬가지로 “pang”과 “pung” message를 주고받으면 상호간 통신은 종료된다.

<중 략>

Socket descriptor의 값을 저장하는 fd_set 변수는 rset과 pset, 2개가 있다. pset은 소켓이 생성 및 소멸될 때만 변하는 변수이며, rset은 그 변수에 저장된 socket descriptor의 buffer에 새로운 데이터가 들어왔는지의 여부에 따라 값이 변하는 변수이다. 무한 루프에 들어가면서, rset은 pset의 값으로 초기화된다. 그 이후 socket buffer에 데이터의 저장 유무를 판단하는 함수인 select를 통해 rset의 변화를 체크한다.
변화된 rset의 값으로, 최대로 부여된 클라이언트의 수만큼 다시 루프를 돌며, 변화된 소켓이 server의 소켓인지 accept된 클라이언트의 소켓인지를 확인한다. 만약 server의 소켓이라면 새 클라이언트가 접속을 요청했다는 의미이므로 이를 처리하는 알고리즘을 사용한다.
반대로 client의 소켓이 변화되었다면 그 소켓 buffer에 message data가 입력되었음을 의미하므로 역시 이를 처리하는 알고리즘을 사용한다.

참고 자료

없음
*지*
판매자 유형Silver개인인증

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

이런 노하우도 있어요!더보기

최근 본 자료더보기
탑툰 이벤트
시스템프로그래밍 Lecture13. Select
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
AI 챗봇
2024년 05월 20일 월요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
11:30 오후
New

24시간 응대가능한
AI 챗봇이 런칭되었습니다. 닫기