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

[리눅스] 채팅창 구현(서버, 다중 클라이언트)

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

목차

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

본문내용

01. 코드

서버
채팅 서버는 클라이언트가 채팅에 참가하면 채팅 참가리스트에 추가하고, 채팅에 참가하고 있는 다른 클라이언트가 보내는 메시지를 다시 다른 채팅 참가자에게 보내는 역할을 한다. 즉, 하나의 프로세스가 여러 클라이언트와의 통신을 담당한다.
클라이언트의 요청을 받아들이기 위해 이번에는 fork()를 사용하는 게 아니고 fd_set 구조체를 이용한 select()함수를 사용하였다.

1~9 : printf, file, socket, error 등 각각 필요한 헤더 파일을 포함시킨다.

11~25 : 매크로 함수를 사용한 정의 구문. listen()함수에 쓰일 백로그와 사용자의 아이디와
로그인을 성공했을 때와 실패했을 때의 아이디, BufferSize를 정의한다.
23열은 최대 소켓 수이고 여기서는 2개의 소켓만 쓰일 예정이다.
25열은 채팅방을 나갈 때 입력받는 문자열을 정의해 두었다.

28 : 현재 소켓 번호 중 가장 큰 값을 구하기 위한 함수 설정
30 : 채팅에 참가한 소켓번호 목록이다.
31 : 채팅 참가자의 수를 판별하며 0으로 초기화한다.

35 : 처음에 화면을 clear 시킨다.
37~47 : 각종 변수 선언. (소켓, id, pw, 메시지를 받은 버퍼 등등)
49 : 읽기상태 변화를 감지할 소켓을 지정한다.
50 : 최대 소켓 번호 크기 + 1

53~57 : 처음에 실행할 때 사용법이 틀리면 사용법을 알려주기 위한 조건문이다.
(이하 소켓 생성부터는 project1 과제와 같다.)
이때 PF_INET은 프로토콜 체계이고 AF_INET은 주소 체계이므로 소켓을 생성할 때는 PF_INET을 사용하고 struct sockaddr_in 구조체에 주소 체계를 넣을 때는 AF_INET을 사용하는 것이 바람직하다.

81 : maxfdp1은 최대소켓 번호 크기 + 1 이므로 sockfd에 1을 더해준다.

90 : read_fds의 모든 소켓을 0으로 초기화한다.
91 : 초기소켓을 선택한다.

참고 자료

http://jkkang.net/unix/netprg/chap4/net4_2.html
https://blog.naver.com/ifkiller/70081338273
https://blog.naver.com/sharonichoya/220501242693
http://jkkang.net/unix/netprg/chap4/net4_3.html
소희짱
판매자 유형Bronze개인인증

주의사항

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

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

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

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

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

  • 파워포인트파일 [정보통신]GTK+를 이용한 채팅 프로그램 25페이지
    TCP :UserList :Chat 서버구현 서버 프로그램 서버 프로그램의 ... 채팅 메시지 출력 클라이언트구현 클라이언트 프로그램 클라이언트의 동작 ... 소개 프로그램의 목표 서버구현 클라이언트구현 응용 계층 프로토콜을
  • 한글파일 프로그래밍실습 학습지도안 4페이지
    메일러, 웹브라우저, 터미널 에뮬레이터, 채팅 프로그램 등 클라이언트 프로그램도 ... 리눅스 역사 1) 유닉스의 등장 리눅스의 모태가 되는 유닉스는 다중 사용자와 ... 몇 가지 설정만 마치면 바로 네트워크 서버로 쓸 수 있고, 이더넷이나 인터넷에
최근 본 자료더보기
탑툰 이벤트
[리눅스] 채팅창 구현(서버, 다중 클라이언트)
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업