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

[리눅스] 채팅창 구현 및 파일 전송 프로그램

소희짱
개인인증판매자스토어
최초 등록일
2018.05.01
최종 저작일
2017.11
19페이지/한글파일 한컴오피스
가격 3,000원 할인쿠폰받기
다운로드
장바구니

목차

01 코드(서버, 클라이언트)
02 접속 방법
03 실습결과
04 고찰사항

본문내용

01. 코드

서버
파일 전송할 때 쓰이는 서버는 project2와 코드가 동일하므로 따로 설명을 넣지 않았습니다.
설명은 project2 보고서에 상세하게 적어뒀습니다.

클라이언트
하나의 클라이언트가 파일요청, 즉 메시지에 /file이라 적을 때 새로운 소켓을 생성하여
요청한 클라이언트는 새로운 클라이언트, 요청을 받은 클라이언트는 새로운 서버가 되도록 동작한다.
코드의 앞부분은 project2의 코드와 동일하므로 새로 적힌 코드 부분만 설명했습니다.
설명이 되어있지 않은 앞부분에 대한 설명은 역시 project2 보고서에 상세하게 적어뒀습니다.

서버 102와 103 모두 비슷한 코드이므로 우선 103에 대해 설명하겠습니다.

[103 코드]
여기서 프로젝트2와 달라진 코드가 있다면 14열에 파일 리스트를 저장하고
24열에 매크로 함수를 통해서 P2PFILE, 즉 클라이언트가 file을 요청할 때 쓸 수 있는 문자열을 정의하였다.

FD_ISET함수의 첫 번째 인수가 0이기 때문에 키보드로부터 입력받는 문자열을 비교한다.
클라이언트가 보내는 문자열이 P2PFILE, 즉 /file일 경우 (strstr함수를 통해 비교->틀리면 NULL 반환)
파일을 요청하는 쪽이 새로운 클라이언트가 되어야하므로 클라이언트 소켓을 생성한다.

우선 서버가 될 상대 클라이언트가 문자열을 받고 소켓을 생성해야 되는 시간을 고려하기 위하여
sleep(1) 함수를 이용해 1초 간 쉬었다.

108~114 : 새로 소켓을 생성할 때 사용할 각종 변수와 문자열을 저장할 버퍼와
몇 번을 선택했는지 확인할 변수 select와 파일 구조체를 사용하여 fp2를 선언한다.

116~133 : 이전 소켓 생성, 커넥트와 동일
141 : 파일리스트를 클라이언트 창에 띄운다.

원하는 파일 번호를 scanf로 입력받고 select 변수에 저장한 뒤 send()함수를 통해
새로운 서버 소켓에다가 보낸다..

참고 자료

http://blog.opid.kr/406
http://forum.falinux.com/zbxe/index.php?document_srl=408114&mid=C_LIB
소희짱
판매자 유형Bronze개인인증

주의사항

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

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

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

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

찾던 자료가 아닌가요?아래 자료들 중 찾던 자료가 있는지 확인해보세요

  • 파워포인트파일 최강 웹사이트 기획서 88페이지
    시스템 보호는 물론 사용자 프로그램에 대한 보호, 데이터 시스템 복구 ... 웹서버와의 데이터 전송은 ODBC를 이용한다 ..PAGE:58 3. ... 파일의 크기는 최소한으로 줄이면서도 역동적인 애니메이션과 사용자와 상호작용
최근 본 자료더보기
탑툰 이벤트
[리눅스] 채팅창 구현 및 파일 전송 프로그램
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
AI 챗봇
2024년 05월 10일 금요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
2:48 오후
New

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