Internet Relay Chat Protocol - Tìm hiểu và ứng dụng phần 9 potx - Pdf 19

Luận văn: Internet Relay Chat Protocol tìm hiểu và ứng dụng Chương II: Đa
Luồng(multithreading)
www.diachiweb.com - Trang 73 P
P
h
h
a
a
à
à
n
nI
I
V
V
:
:

Y

á
n
nT
T
r
r
u
u
ù
ù
c
c

C
C
h
h
ư
ư
ơ
ơ
n
n
gLuận văn: Internet Relay Chat Protocol tìm hiểu và ứng dụngChương I: Yêu Cầu Chức Năng &ø
Phi Chức Năng
www.diachiweb.com - Trang 74
Chương I: Yêu Cầu Chức Năng &ø Phi Chức Năng
1. Đối với Chat Client
Yêu cầu chức năng
Ø Chương trình cho phép người dùng lưu giữ thông tin về servername và port ngoài ra còn
thông tin về nhóm server
Ø Cho phép thêm mới server
Ø Cho phép cập nhật lai thông tin server
Ø Cho phép hủy thông tin server
Ø Lưu giữ thông tin cấu hình hiện trạng của lần hoạt động trước ví dụ: thông tin về
nickname, realname,email address, v.v…
Ø Cho phép user connect và disconnect trong các trường hợp sau
Disconnect khi chưa connect xong ở mức TCP.
Disconnect khi connect xong ở mức TCP nhưng chưa xong ở mức application (chưa
thiết lập kết nối xong theo giao thức IRC).
Disconnect khi đã xong ở mức application.
Ø Việc thiết lập kết nối và cắt đứt kết nối phải hoạt động theo cơ chế multithread để đảm
bảo chương trình không bò block
Ø Các message được truyền, nhận, và xữ lý cũng phải được hoạt động theo cơ chế
multithread nhằm bảo đảm chương trình hoạt động hiệu quả hơn.
Ø Chức năng tham gia vào một hay nhiều channel.
Ø Chức năng thoát khỏi channel.
Ø Về chức năng chat phải cho phép người sử dụng thực hiện chat với hai cách:
Chat riêng với user.

truyền nhận message của từng client.

Yêu cầu phi chức năng
Ø Chức năng theo dõi thông số hoạt động, tỉ lệ phần trăm tài nguyên mà server chiếm giữ
Ø Chức năng kết nối và chấp nhận kết nối với server khác, chuyển tiếp message đến
server khác. Luận văn: Internet Relay Chat Protocol tìm hiểu và ứng dụngChương II: Kiến trúc chương trình:

Khi thực hiện chat với riêng với từng user, mỗi user được chat sẽ có một
frmChatForm

Ø frmConnect
Lớp này sẽ hiển thò form connect to server trên form này có chức năng
chọn server, Addserver Editserver, Deleteserver.v.v …

Ø frmConnectListenEvent
Lớp frmConnectListenEvent chòu trách nhiệm lắng nghe và xử lý sự kiện
cho form connect.

Ø frmDCCChat
Luận văn: Internet Relay Chat Protocol tìm hiểu và ứng dụngChương II: Kiến trúc chương trình:
www.diachiweb.com - Trang 77
Lớp frmDCCChat hiển thò form DCCChat, form này cho phép user tạo ra
connection mới kết nối trực tiếp vào user muốn chat với mình (Direction Connection
Chat)

Ø frmGetListChannel
lớp này cho phép user truy vấn đến server lấy về danh sách channel hiện
có.

Ø frmJoinChannel
Lớp frmJoinChannel cho phép user chọn channel để join tuy nhiên danh
sách channel trên lớp này là những channel thông dụng đôi khi không có trên server trước
khi join bạn nên dùng form getlistchannel.

Ø frmJoinChannelListener
Lớp này chòu trách nhiệm lắng nghe và xữ lý sự kiện cho form join channel
Ø frmMainForm

Nhận message nhập vào và xữ lý cho từng trường hợp sau quá trình thiết
lập kết nối thành công

Ø choiseItemListener
Xữ lý cho sự kiện chọn combo box và listbox

Ø openSocket
Lớp này chòu trách nhiệp mở kết nối ở cấp TCP liên kết đến server

Ø openServerSocket
Lớp này mở ServerSocket lắng nghe kết nối cho dòch vụ
DCCChat(Direction Connection Chat)

Ø DCCChatGetData
Nhận message từ DCCChatServer

Ø DCCChatGetDataServer
Nhận message từ DCCChatClient

Ø GetDataFromSocket
Lớp này cho phép đọc dữ liệu từ luồng nhập và xuất dữ liệu từ luồng xuất
lớp này phục vụ cho lớp threadIn và lớp threadOut.

Ø SettingFile
Lớp SettingFile đọc và ghi file cấu hình hệ thống

Ø StatusButton
Lớp này kế thừa từ Button Command
Ø channelFileProcess
đọc và ghi file luu giữ danh sách channel

Ø NickNameItem
Một đối tượng UserConnectionItem sẽ là con của đối tượng
NickNameItem, đối tượng này sẽ chứa thông số về cơ bản user như: nickname, hostname,
username, realname.

Ø ProcessClientConnection
Lớp này sẽ chòu trách nhiệm xử lý message khi message gởi đến server.
Mọi xử lý trong lớp này do hàm DataArrive() xử lý

Ø StringProcess
Lớp StringProcess là lớp bổ trợ cho việc xử lý chuổi để phân tích message

Ø UserConnectionItem
Đối tượng này được kế thừa từ NickNameItem lớp này chứa các thông số
ChannelItem, đối tượng socket đang phục vụ cho nó.

Ø threadIn
Lớp này có nhiệm vụ đọc dữ liệu nhập vào mà theo cơ chế multithread để
chương trình không bò block

Ø threadOut
Cũng tương tự như lớp threadIn lớp này có nhiệm vụ xuất message. Để có thêm thông tin chi tiết cho các lớp đối tượng tham khảo danh sách các lớp chat client
vàDanh Sách các lớp Server
Luận văn: Internet Relay Chat Protocol tìm hiểu và ứng dụng Kết luận:
www.diachiweb.com - Trang 80
Kết luận:
Kết quả đạt được:

F Java2 Nguyễn Tiên, Ngô Quốc Việt
FRFC 1459, J. Oikarinen, D. Reed – 05/1993
FRFC 2810, C. Kalt – 04/2000
FRFC 2811, C. Kalt – 04/2000
FRFC 2812, C. Kalt – 04/2000
FRFC 2813, C. Kalt – 04/2000
F TCP/IP MCSE Study Guide GregP.Bulette


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status