검색어 입력폼

[정보통신]GTK+를 이용한 채팅 프로그램

저작시기 2005.11 |등록일 2006.11.09 파워포인트파일MS 파워포인트 (ppt) | 25페이지 | 무료

소개글

LINUX GUI Library
인 GTK + 를 이용한 리눅스 서버 클라이언트 프로그램입니다.
소스 코드는 없고 프리젠 테이션 자료로 캡쳐한 사진만 있습니다.
소스 코드는 지워져 버렸네요.

부족한게 많지만 많은 도움 되셨으면 합니다.

목차

GTK+를 이용한 채팅 프로그램
Table of Contents
GTK+의 소개
프로그램의 목표
서버의 구현
클라이언트의 구현
응용 계층 프로토콜을 이용한 통신
프로그램의 실행
Q&A


GTK+의 소개
GTK+란?
GTK+ 라이브러리의 구조
GTK+의 특징

GTK+란?
LINUX GUI Library
GTK – GIMP ToolKit
GIMP: GNU Image Manipulation Program
GIMP를 개발하기 위해 만들었던 라이브러리
LGPL License – Open, Free
GNOME (GNU Network Object Model Environment)를 포함한 많은 프로젝트에 쓰이고 있음
+는 GTK자체에 기능이 더 추가되어 좋아졌다는 의미.
GTK+ 라이브러리의 구조
C언어로 구현되어 있음
C-based object-oriented architecture
GTK+의 특징
객체지향적 응용프로그램 개발 환경
클래스 개념
Callback 함수의 개념
높은 이식성
Pango 라이브러리에 기반한 국제어 지원
다양한 언어로 구현되어 있음.
C++
Python
Objective C
JAVA
C#
채팅 프로그램의 목표
프로그램의 기능
프로그램의 전체적 구조


프로그램의 기능
리눅스 Server/Client 기반의 채팅 프로그램
다중 사용자 처리
사용자 인증
사용자 목록 출력
프로그램의 전체적 구조
서버의 구현
서버 프로그램
서버 프로그램의 정상 동작 과정
서버 프로그램 실행화면

서버 프로그램
pthread를 이용한 다중 접속 처리
TCP를 이용함.
1 Client 당 1 Thread
수신측 (recv())에서 Thread를 이용하여 처리
Linked List를 이용한 접속점(사용자) 관리
한 곳에서 패킷을 받을 경우, 현재 접속중인 클라이언트들에게 패킷을 전송.
서버 프로그램의 정상 동작 과정
서버 프로그램 실행 화면
클라이언트의 구현
클라이언트 프로그램
클라이언트의 동작 과정
유저 인터페이스
클라이언트 프로그램
TCP Client
데이터 수신에 스레드를 이용하여, 실시간으로 데이터를 주고 받을 수 있도록 함
UI는 GTK+를 이용하여 구현
클라이언트의 동작 과정
유저 인터페이스
Hand made (T_T)
Widget uses
GtkList
Compatible with 1.2
GtkTextView Series
Text View
Text Buffer
Text Iter
전송 후 서버에서 메시지를 받아 보여주는 구조
응용 계층의 프로토콜을 이용한 통신
Packet sequence
프로토콜 디자인:메인 프로토콜
Packet sequence
프로토콜 디자인: 메인 프로토콜
Instruction
Instruction to network engine (Application)
Request user list
Authentication need
Next header
Kind of packet header follows this header.
User list
User count
Sender ID
Unique ID what packet sender
Ex) ABCDFF00  Server
Electric signature replaces this section as sender ID
응용 프로그램의 실행
Run Example 1 : 2 Clients
Run Example 2 : 3 Clients
Run Example 1 : 2 Clients
Run Example 2 : 3 Clients
Q & A

본문내용

리눅스 Server/Client 기반의 채팅 프로그램
다중 사용자 처리
사용자 인증
사용자 목록 출력
pthread를 이용한 다중 접속 처리
TCP를 이용함.
1 Client 당 1 Thread
수신측 (recv())에서 Thread를 이용하여 처리
Linked List를 이용한 접속점(사용자) 관리
한 곳에서 패킷을 받을 경우, 현재 접속중인 클라이언트들에게 패킷을 전송.
TCP Client
데이터 수신에 스레드를 이용하여, 실시간으로 데이터를 주고 받을 수 있도록 함
UI는 GTK+를 이용하여 구현
Hand made (T_T)
Widget uses
GtkList
Compatible with 1.2
GtkTextView Series
Text View
Text Buffer
Text Iter
전송 후 서버에서 메시지를 받아 보여주는 구조
Instruction
Instruction to network engine (Application)
Request user list
Authentication need
Next header
Kind of packet header follows this header.
User list
User count
Sender ID
Unique ID what packet sender
Ex) ABCDFF00  Server
Electric signature replaces this section as sender ID
다운로드 맨위로