Network Programming - 최종보고서 -

Slides:



Advertisements
Similar presentations
신입생 Study 커리큘럼 OneScore. Contents 후니의 시스코 네트워킹 (4 주 ) 01/ Network 생활코딩 – 웹 서비스 만들기 (4 주 ) Wowhacker 웹 게임 (4 주 ) 02/ Web 뇌를 자극하는 윈도우 시스템 프로그래밍 (4 주 ) 리버싱.
Advertisements

목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.

정보 보안 개론과 실습 네트워크 해킹과 보안 3부 해킹 전 정보 획득 Chapter 10. 목록화.
1 안드로이드 네트워킹 안드로이드 앱 프로그래밍 여 규리.
WSAAsync Select 김대열 Bit - Academy Sunmoon University, Korea.
10장. 소켓 입출력 모델(I) 블로킹과 넌블로킹 소켓의 특징을 이해한다. Select 소켓 입출력 모델을 이해하고 활용한다.
Dongseo univ. Computer engineering
멀티 쓰레드 기반의 채팅 프로그램 이름 문성영 이름 김현진 학번 이름 장용하 이름 차희진 분석설계서.
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
Ch.07-5 xml-rpc 사용하기 김상엽.
Network Lab. Young-Chul Hwang
TCP Client/Server Program
오목게임 W32 로봇시스템제어(하) GROUP 7 노성동, 하선웅, 김관준
PHP입문 Izayoi 김조흔.
소켓 모델 주소 지정 in_addr_t inet_addr(const char *ip_address) 연결 지향 모델 (TCP)
제 14장 Multicast & Broadcast
31강 JAVA 네트워크 JAVA 네트워크 InetAdress, URLConnection 클래스 Socket의 이해
네트워킹 CHAPTER 13 Section 1 네트워킹의 개요와 java.net 패키지 Section 2 인터넷 주소와 URL
Department of Computer Engineering
한남대학교 컴퓨터공학과 컴퓨터 네트워크 실험실
Department of Computer Engineering
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 7장 소켓 연결의 우아한 종료 인공지능실험실 석사 2학기 이희재
Network Project (중간 보고)
Linux서버를 이용한 채팅프로그램 지도 교수님 : 이형원 교수님 이 름 : 이 은 영 학 번 :
FTP 프로그램 채계화 박재은 박수민.
Chapter 06. UDP 서버/클라이언트.
인공지능실험실 박사 1학기 장성만 TCP/IP Socket Programming… 9장 소켓의 다양한 옵션 인공지능실험실 박사 1학기 장성만
NJM Messenger 박상원 박연호.
ARP Project 조 충 호 교수님 김 세 진 조교님 조 진 형 변 익 수
네트워크프로그래밍 분반 : E 12 반 윤도경 류기훈
프로젝트 발표 순서 12/7(수), 팀 별 15분 발표순서 PPT (팀 별 이름, 구현 내용, 결과-그래프 포함) 각 기법당
Department of Computer Science and Engineering
13장 고급 입출력 함수 박사 4학기 최 성자.
네트워크프로그래밍프로젝트 < 관리 tool >
TCP/IP 응용 프로그램에 적용 가능한 다양한 소켓 옵션을 이해하고 활용한다.
DSU Nanumi FTP - Network Programming 염대영
RMI Messenger 지도 : 김정배 교수님 조봉진.
GUI 소켓 애플리케이션 Chapter 08. * 학습목표 윈도우 GUI 애플리케이션의 구조와 동작 원리를 이해
Go Lang 리뷰 이동은.
Internet 데이터 전송 목표: 인터넷의 개요 및 기본 내용을 살펴보고 VB에서의 데이터 전송 프로그래밍에 대하여 학습한다. 주요내용 인터넷의 개요 인터넷 데이터 전송 인터넷 프로그래밍 Winsock Client Server 프로그래밍.
TAG Visual Basic, 표준시간, 타임 서버, PC 시간 설정, NTP, RFC 2030.
최종 발표 VoIP를 이용한 PC to PC 소프트 폰 1조 백상현 장현제.
MAIL CLIENT 김창우 윤성훈 이경재.
Department of Computer Engineering
Lab 8 Guide: 멀티스레딩 예제 2 * Critical Section을 이용한 멀티스레딩 동기화 (교재 15장, 쪽)
자바로 만든 채팅 프로그램 임경진 조주경 지도교수님 : 이광세 교수님.
채팅프로그램 Good Day클럽 나윤영 신윤정 김시한.
I.D.P(Image Download Program)
프로젝트 제안서 -TCP/IP를 이용한 메신저 구현-
( Windows Service Application Debugging )
Open-GL PROJECT 구 리 구 루.
MONSTER CAR 구정재 한석우 김재형.
3. 윈도우 핸들 제어.
Chapter 04. TCP 서버/클라이언트.
모바일(폰)메일 서비스 정흠수 최동훈.
다자간 채팅프로그램 김형도 허영민
인공지능실험실 박사 1학기 장성만 TCP/IP Socket Programming… 제 8장 도메인 이름과 인터네 주소 인공지능실험실 박사 1학기 장성만
채팅 및 파일전송 프로그램 권 경 곤 김 창 년.
엔코더 프로그램 설명 // 쓰레드를 사용하기 때문에 변수와 핸들을 전역변수로 지정 HANDLE hDevice;
소리가 작으면 이어폰 사용 권장!.
Wake On Lan 발표자: 김 홍 기 김홍기 조성오
KSP 메신저 김광민 서정건 박윤옥.
Network Lab. Young-Chul Hwang
Completion Port기반의 채팅프로그램
Messenger Program for Remote Conference
TCP/IP를 이용한 마우스 공유 (Synergy 따라하기)
M.B.TEAM 중간 발표 (5.18) 이 제걸 백 인호.
중간 결과 보고 ( Server & Client )
소리가 작으면 이어폰 사용 권장!.
Presentation transcript:

Network Programming - 최종보고서 - 팀 원 : 김 상 규, 김 종 형, 강 우 희

목 차 프로젝트 개요 팀 구성도 개발환경 프로젝트 소개 프로그램 구조 주요 함수 설명 프로젝트 일정표 Demo 참고문헌

프로젝트 개요 메신저란 TCP/IP 프로토콜을 이용하여 인터넷이 연결된 곳이라면 언제 어디서나 실시간으로 메시지를 주고받을 수 있는 프로그램을 의미 메신저의 주요기능 메시지 교환 파일 송·수신 음성채팅 화상채팅 네트워크 게임기능

팀 구성도 김상규 김종형 강우희 김상규 김종형 강우희 팀장, 기획, 프로그래밍, 자료수집 프로그래밍, 자료수집, 문서작업 프로그래밍, 자료수집, 테스트

개발환경 System Develop Tool Server : P4 Desktop PC Client : P4 Desktop PC MS Visual Studio 6.0

프로젝트 소개 Main Window ※메시지 출력부분 ※서버측 IP 입력부분 ※메시지 입력부분

프로젝트 소개 접속화면 State → Server 서버시작과 함께 클라이언트 접속 대기라는 메시지가 뜨며 클라이언트 접속을 대기하는 화면입니다. 서버를 시작하면 기본적으로 포트는 9999입니다.

프로젝트 소개 Server Client

프로젝트 소개 ※Server 대화창 ※Client 대화창

프로젝트 소개 ※게임 화면 (초기화면)

프로젝트 소개 ※게임 화면(진행중인 화면)

프로젝트 소개 ※게임 화면(종료 화면) ※Client 화면 ※Server 화면

프로그램 구조 Server socket Client socket SendMsg SendMsg RecvMsg RecvMsg bind() listen() accept() socket() connect() g_chatmsg 입력 g_chatmsg 입력 SendMsg SendMsg send() send() MSG MSG DiskplayText() RecvMsg RecvMsg DiskplayText() recv() recv() 출력 출력

프로그램 구조 ServerSock – 서버기능을 담당하며, 클라이언트가 connect()를 시도하면 send와 recv를 위한 두개의 스레드를 생성합니다. ClientSock – 클라이언트 기능을 담당하며 connect()를 시도하여 성공하면 send와 recv를 위한 두개의 스레드를 생성합니다. SendMsg – send() 부분을 담당하며, 채팅 메세지 및 게임점수를 구분하여 전송합니다. RecvMsg – recv() 부분을 담당하며, 채팅 메세지 및 게임점수를 구분하여 수신합니다. DisplayText()에서는 수신되거나 전송되어지는 메세지 또, 각종 에러 메세지 등을 대화창에 출력해 줍니다.

주요 함수 설명 struct CHATMSG { char buf[BUFSIZE+1]; } 메신저를 통한 메시지를 받기위한 구조체 HWND hWnd, hEditMain, hEditChat, hGameWnd; 윈도우, 메신저 대화창과 대화입력창, 게임용 차일드 윈도우 HANDLE hReadEvent, hWriteEvent; 스레드 동기화를 위한 이벤트 핸들 SOCKET g_sock; 소켓종료를 위한 전역소켓변수 DWORD WINAPI ServerSock(LPVOID arg); 서버 소켓을 만들어 클라이언트가 접속시 클라이언트와 통신을 할 수 있는RecvMsg, SendMsg 스레드 생성. DWORD WINAPI ClientSock(LPVOID arg); 클라이언트용 소켓생성 DWORD WINAPI SendMsg(LPVOID arg); 메시지를 보냄 send() DWORD WINAPI RecvMsg(LPVOID arg); 메시지를 받음 recv()

주요 함수 설명 BOOL CALLBACK IpAddrProc(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam); 주소와 PORT번호를 받는 다이얼로그 프로시저 void DisplayText(char *fmt, ...); 입력받은 문자를 대화창에 출력 void CALLBACK TimerProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam); 게임시 사용되는 타이머 프로시저 void CreateChild(); 게임 화면을 차일드 윈도우로 생성

프로젝트 일정표 아이템구상 제안서 작성 자료수집 기능설계 Coding 최종 테스트 디버깅 최종 결과물 보고서 작성 5월 3일 5월 10일 5월 17일 5월 24일 5월 31일 6월 7일 6월 14일 아이템구상 제안서 작성 자료수집 기능설계 Coding 최종 테스트 디버깅 최종 결과물 보고서 작성

참고 문헌 / 사이트 메트릭스 | http://www.metrixcorp.com/ 네이버 | http://www.naver.com/ 네이트온 | http://www.nate.com/ 랭키닷컴 | http://www.rankey.com/ MSDN Library | http://www.msdn.com/ 윈도우 네트워크 프로그래밍 TCP/IP 소켓 프로 그래밍 – 김선우/한빛미디어 Windows API 정복 – 김상형/가남사