멀티 쓰레드 기반의 채팅 프로그램 문성영 김현진 학번 2010151035 이름 장용하 차희진 연구제안서.

Slides:



Advertisements
Similar presentations
1) 지금 IBM 전용 PRINTER 를 LAN 에서 사용할 수 있습니까 ? 예 ! 여기 DPX-5250R 이라는 IBM INTERFACE MODULE 이 있습니다. LAN 에서 PC 나 PRINT SERVER 를 통해 DATA 출력 지원을 합니다. 2) 그럼 UNIX.
Advertisements

ㅋㅋ 다른 집단과 명확히 구별되는 가치체계와 지식 그리고 그에 부합하는 기술을 가지고 있어야 한다. 가치체계 - 사회복지사윤리강령, 선서 등 기본요소 완성 지식 - 사회복지사 1 급 자격증 시험으로 완성 기술 - 명확하지 않으나 실습, 보수교육을 통해 완성 Client.
Net-Inspector 매뉴얼
2 장 인터넷의 구성 및 접속.
Chapter 13 전송층 개요.
Windows Server 장. 서버 운영을 위한 필수 사항.
Network Lab. Yong bae, Kim
IP변경 요청_ 스마트폰 전자결제연동 올더게이트.
Asymmetric Link 분석.
Windows Server 장. Windows Server 2008 설치.
오목게임 W32 로봇시스템제어(하) GROUP 7 노성동, 하선웅, 김관준
{ ] [ HelpCom 개요 HelpCom이란? HelpCom의 특징
2장. TCP/IP, 서브넷팅 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
제품소개서 탭스 메일러 4 (TABS Mailer 4) 탭스랩주식회사.
10. About TCP / IP SPARCS 08 우성필.
뇌를 자극하는 Windows Server 2012 R2
F5 삭제 및 신규 SSL_VPN 설치 메뉴얼 * 기존 SSL_VPN F5 삭제 ② ① * 신규 SSL_VPN 설치 ② ①
한국마사회 ADSL 장애처리 방법 2003년 5월 16일.
Processing resulting output
14장. NFS 서버의 설치와 운영.
운영체제 허상복 컴퓨터시스템 연구실
Department of Computer Engineering
사고전서 (SiKuQuanShu).
DHCP 김영석 박대혁 신영주.
Department of Computer Engineering
중간 결과 보고 ( Server & Client )
DHCP 박윤환 윤준호.
Network Programming(1)
2012 인터넷 응용프로그래밍 FTP, MySQL 사용 방법 및 텀 프로젝트용 서버에서 웹페이지 구동 방법 설명
소리가 작으면 이어폰 사용 권장!.
제주닷컴 매뉴얼 (실시간 예약시스템) 2013년 10월.
고속철도 노반 침하관리용 DB 프로그램 개발.
서버 실습 기말과제 게임소프트웨어 b 이도하 Date :2014/12/11(목)
WireShark 와 Cain & Abel을 이용한 네트워크 해킹
P2P를 연결을 위한 여러기술 휴즈플로우 이재동 예전에 간략하게 크로스 플랫폼 p2p를 이야기한적이 있었는데요
2장. TCP/IP, 서브넷팅 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
광주광역시교육청 무선 인터넷망 사용자 매뉴얼.
Packet Analyzer V (주) 이네스 닷컴.
Part 04-3 Windows 2000 Server IIS Outlook Express 도메인 사용 관리자
TCP / IP 소켓 프로그래밍 3주차 ( Ch.10 ~ Ch.14 ).
Cyclow Progress 김영훈, 김수현, 박윤아.
Net-Inspector 매뉴얼
스마트폰→PC원격제어 관심분야연구회 조 용한 제 인환.
기존 REC거래시스템 회원사의 신재생 통합포털 회원가입 설명서.
모두가 행복한 교육, 미래를 여는 창의인재 2015 개정교육과정 서울숭인초등학교 교사 이소정.
단말기의 설치마법사를 통한 개통 절차 1.쉬운 설치 마법사를 통한 설치 + (1) 고정 IP / DHCP / PPPoE 설정
IP변경 요청 올더게이트.
Department of Computer Engineering
윤성우의 열혈 TCP/IP 소켓 프로그래밍 윤성우 저 열혈강의 TCP/IP 소켓 프로그래밍 개정판
MONSTER CAR 구정재 한석우 김재형.
기업고객 MSP서비스 등록 매뉴얼 시스매니저원 ASP서비스.
Internet 유선 랜카드 A 회사 네트워크 장비 (인터넷 공유 기능 활성화)
비담 MOS 시뮬레이션 사용 절차 1 – 개별 사용 유형
DBpia 학술논문 고등학교 이용매뉴얼 대학입시 학생부정합전형을 위한 다양한 과제연구, 동아리탐구활동
Oracle 구성 Internet Application Server Database Server.
홈네트워크 시뮬레이션 중간 보고서 정 찬 번 석 성 환.
제 14 장 응용 계층과 클라이언트-서버 모델 클라이언트-서버 모델 14.2 동시성 14.3 프로세스 14.4 요약.
JT-3200T CAT단말기.
통신 메모리 공유를 이용한 클라이언트/서버 설정 방법
매물장 로그인 직원을 미리 생성하시면 직원 ID로 로그인 가능.
실시간 음성 채팅 서비스 (Voice Chatting Programe)
일반대학원 사용자 매뉴얼(학생)
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
소리가 작으면 이어폰 사용 권장!.
Ethereal 컴퓨터 통신망.
Department of Computer Engineering
관리자 페이지에서 관리자 승인 1. 정기권 신규고객 1. 로그인 화면 2. 차량등록여부 확인 3. 개인정보 활용 동의
1. 환경설정 1.1 병원 정보 1. 개원일 - 병원 인수해서 보험 청구 시 사용 2. 폐원일 - 병원 폐원하고 다른 의사에
Data Compression 데이터 압축:음성, 비디오, 팩시밀리 전송등과 같은 경우에 중요
네트워크 프로토콜.
Presentation transcript:

멀티 쓰레드 기반의 채팅 프로그램 문성영 김현진 학번 2010151035 이름 장용하 차희진 연구제안서

차 례 1 2 3 4 5 6 7 8 9 10 연 구 개 요 개발시스템의 목표 시스템 개발방법 기능분석 시스템 구성도 차 례 1 연 구 개 요 2 개발시스템의 목표 3 시스템 개발방법 4 기능분석 5 시스템 구성도 6 소프트웨어 구성도 7 업무분담 8 문 제 점 및 해결 방안 9 수행일정 10 필요기술 및 참고문헌

네트워크 프로그래밍을 이해하고 응용력을 높임 1. 연구 개요 수업시간에 학습한 내용을 바탕으로 네트워크 프로그래밍을 이해하고 응용력을 높임 멀티쓰레드를 이해하고 구현함에 있어 문제점을 파악하고 보완함 C언어를 바탕으로 유닉스 환경에서 채팅 및 파일전송을 구현

2. 개발시스템의 목표 다중 접속자들 간의 채팅 기능 접속자들 간의 파일전송 기능 TCP소켓을 활용한 서버 구현 멀티 쓰레드를 이용하여 멀티프로세스의 단점을 보완

3. 시스템 개발방법 시스템 개발 방법 및 개발 환경 : 다중접속서버 구현방법, 사용 함수 : - 개발방법 : TCP 소켓 이용, 다중접속 서버/클라이언트 구현 - 개발환경 : UNIX - 개발언어 : C언어 다중접속서버 구현방법, 사용 함수 : - 멀티쓰레드 활용 - readv, writev함수 활용

3. 기능 분석 (1) 다중 접속지원 기능 1. 쓰레드 이용 Server : 클라이언트 연결요청이 있을 때마다 클라이언트를 다루기 위한 쓰레드 생성. Client : 서버에 접속시 송신 쓰레드와 수신 쓰레드 생성. (쓰레드는 전역변수를 통해 서로 정보를 주고받을 수 있음) 2. 쓰레드간 Mutex 이용 서버의 어느 한 쓰레드가 서버에 있는 전역변수에 접근할땐 다른 쓰레드의 접근을 막기위해 Mutex 이용.

3. 기능 분석 (2) 채팅 기능 Server : 클라이언트로부터 받은 메시지를 임시적으로 배열에 저장한다. 배열에 저장된 메시지를 모든 클라이언트에게 보냅니다. ( 클라이언트 핸들러 쓰레드의 역할 ) Client : 전달할 메시지를 입력하면 임시적으로 배열에 저장된다. 배열에 저장된 메시지를 서버에 보냅니다.( 송신쓰레드 역할) 서버로부터 오는 메시지를 출력 합니다.( 수신쓰레드 역할)

3. 기능 분석 (3) 파일전송 기능 Client : 파일 보낼 때(송신 쓰레드 역할) 명령어 이용, 파일 전송을 시작함. 명령어 이용, 존재하는 파일의 목록확인 가능. 파일명과 보낼 Client 이름은 명령어와 구분하여 입력. 파일전송 전, 서버에게 파일은 보낸다는 정보를 보냄. 파일은 바이너리 모드로 열고, 읽어온 데이터는 배열에 저장. 배열에 저장된 정보를 서버에 전달.

3. 기능 분석 (4) 파일전송 기능 Client : 파일 받을 때(수신 쓰레드 역할) 서버로부터 파일을 보낸다는 명령을 받음. 받을 파일의 파일명을 직접 입력함. 서버로부터 파일을 입력받아 배열에 임시 저장함. 파일을 바이너리 쓰기 모드로 열고, 임시 저장된 파일의 내용을 파일에 씀.

3. 기능 분석 (5) 파일전송 기능 Server : 파일을 보낸다는 신호를 클라이언트로부터 받음. 클라이언트에게 받은 파일 데이터를 배열에 임시 저장함. 파일을 보낸다는 신호를 해당 클라이언트에게 보냄. 배열에 저장된 데이터를 해당 클라이언트에게 보냄. 파일을 다 전송했으면, 다 전송했다는 신호를 보냄.

3. 기능 분석 (6) 사용자의 편리를 위한 명령어 제공 기능 Client : (송신 쓰레드 역할) (명령어들 정보가 있는)메뉴 호출을 위한 명령어 파일전송을 위한 명령어 프로그램 종료를 위한 명령어

5. 시스템 구성도 Server 데 이 터 전송 데 이 터 수신 TCP소켓 이용 Client Client Client 1.클라이언트 소켓 번호 2.클라이언트 소켓개수 3.클라이언트 ID Server 데 이 터 전송 데 이 터 수신 TCP소켓 이용 Client Client Client

6. 소프트웨어 구성도 서버와 클라이언트의 접속 관점 소프트웨어 - 연결확인 메시지 - 프로그램 명령어 제공 - IP, PORT, 대화명 입력

6. 소프트웨어 구성도 데이터 송수신 관점의 소프트웨어 B U F E R client Server client 서버 버퍼 내용 수신 입력버퍼 출력버퍼 B U F E R 출력버퍼 입력버퍼 클라이언트 버퍼 내용 송신 client 출력버퍼 입력버퍼 서버 버퍼 내용 수신 입력버퍼 출력버퍼 버퍼 내용은 : 입력한 데이터 혹은,파일

7. 업 무 분 담 총 감독 및 일정관리 - 문성영 문 서 작 업 - 차희진 자 료 조 사 - 김현진 프로젝트 매니저 7. 업 무 분 담 총 감독 및 일정관리 - 문성영 문 서 작 업 - 차희진 자 료 조 사 - 김현진 프로젝트 매니저 - 장용하 서버 구현 - 김현진 클라이언트 구현 - 문성영, 차희진

8. 문제점 및 해결 방안 쓰레드간의 동기화 문제 해결 방안 뮤텍스(Mutex) 기반동기화, 혹은 쓰레드간의 동기화 문제 해결 방안 뮤텍스(Mutex) 기반동기화, 혹은 세마포어(Semaphore) 기반동기화

9. 연구 수행 일정 5월 6월 최 종 데 모 팀구성, 계획서 및 제안서 작성 발 표 발 표 분석, 설계서 작성 발 표 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 6월 1 2 3 4 5 최 종 데 모 팀구성, 계획서 및 제안서 작성 발 표 발 표 분석, 설계서 작성 발 표 중 간 데 모 발 표

10. 필요사항 및 참고문헌 Text https://freelec.co.kr/online/lec_chapter.asp?UID=70 윤성우의 열혈 TCP/IP소켓 프로그래밍 유닉스 에서의 TCP 서버구현 시그널 구현 파일입출력 구현 멀티쓰레드 기반의 서버구현 http://ko.wikipedia.org/wiki 위키백과의 TCP/IP 멀티쓰레드 관련 정보