Tài liệu tham khảo công nghệ thông tin Xây dựng dịch vụ chat trên mạng
Trang 1
XÂY DỰNG DỊCH VỤ CHAT
TRÊN MẠNG
ĐỀ TÀI:
GVHD : Ths Hồ Sỹ Bàng
SVTH: Bùi Thị Thu Hiền
Trang 2GIỚI THIỆU
Xuất phát từ nhu cầu ứng dụng thực tế ở đây em chọn đề tài
”Xây dựng dịch vụ Chat trên mạng”, dựa theo mô hình Client_Server và ngôn ngữ lập trình Java.Chương trình được chạy Demo tại công ty xăng dầu Phú Khánh
BK
Trang 3NỘI DUNG
2
1
3
4
5
6
Giới thiệu Một số kỹ thuật liên quan Nội dung chương trình.
Xây dựng chương trình.
Thiết kế chương trình.
Hạn chế và hướng phát triển
chương trình.
Trang 4GIỚI THIỆU MỤC ĐÍCH ĐỀ
TÀI
Mục đích của chương trình Company Chat là
cung cấp một dịch vụ nhằm giúp đỡ những người quản lý của một công ty hoặc một tổ chức có thể nói chuyện trực tiếp,gởi thông báo hay trao đổi tài liệu với tất cả nhân viên của mình, hay cá nhân nhân viên nào đó một cách chính xác,tinh tế,nhanh chóng, đồng thời giảm được chi phí.
BK
Trang 5MỘT SỐ KỸ THUẬT LIÊN QUAN
Sử dụng mô hình mạng Client/Server, Giao thức
TCP/IP.
Cổng kết nối em dùng cổng 55 cho Company Chat, và
333 cho file.
Sử dụng Socket và k ỹ thuật multithread trong Java, và
một số tính năng khác.
Lựa chọn ngôn ngữ:Mỗi ngôn ngữ có các yêu cầu cấu
trúc văn phạm riêng, Java cũng vậy Java được xem là một ngôn ngữ lập trình ứng dụng cho mạng vì những đặc tính riêng biệt của chúng như đa hệ nền, đa luồng, bảo mật, hướng đối tượng, phân tán, ứng dụng web…
BK
Trang 6Nội Dung chương trình
2
1 Nội dung thực hiện ở Server.
Nội dung thực hiện ở Client.
Trang 7Nội dung chương trình ở Server
- Cho phép hoặc không cho phép các thành viên Login vào hệ thống.
- Giới hạn thời gian và số người tối đa được phép đăng nhập vào hệ thống.
- Xem, thay đổi thông tin của chính mình.
- Xem, thay đổi thông tin của bất kỳ thành viên nào có đăng nhập tham gia chương trình
- Thêm mới một thành viên.
- Xóa một hoặc nhiều thành viên.
- Đổi phông chữ thể hiện.
- Đổi màu cho phông chữ.
- Đổi màu cho background thể hiện.
- Cùng một lúc có thể gởi thông điệp Chat đến nhiều thành viên có trong danh sách.
- Gởi một File bất kỳ một cách trực tuyến đến bất kỳ một thành viên nào đó hiện có mặt trong danh sách.
- Nhận một File từ một thành viên nào đó.
- Lưu lại File trạng thái khi cần để biết tất cả các hoạt động đã thực hiện trong thời gian nhất định.
- Tự động tạo File Log và cũng tự động lưu lại File này sau mỗi hoạt động của mình trong thời gian thực hiện.
- In ra danh sách những người đã đăng nhập được chấp nhận trong công ty.
- Gởi thông báo đến một hoặc nhiều người hiện đang có mặt trong danh sách.
- Gởi một hình ảnh vui biểu hiện cảm xúc trong khi gởi thông điệp.
- Tìm kiếm một thành viên có trong danh sách những người đã tham gia hệ thống
- Thay đổi Password
Trang 8Nội dung chương trình ở client.
- Gởi thông điệp Chat đến một thành viên nào đó có trong danh sách
- Gởi một File bất kỳ một cách trực tuyến đến bất kỳ một thành viên nào
đó hiện có mặt trong danh sách
- Nhận một File từ một thành viên nào đó
- Lưu lại File trạng thái khi cần để biết tất cả các hoạt động đã thực hiện trong thời gian nhất định
- Tự động tạo File Log và cũng tự động lưu lại File này sau mỗi hoạt động của mình trong thời gian thực hiện
- In ra danh sách những người đã đăng nhập được chấp nhận trong công ty
- Gởi thông báo đến một hoặc nhiều người hiện đang có mặt trong danh sách
- Gởi một hình ảnh vui biểu hiện cảm xúc trong khi gởi thông điệp
- Tìm kiếm một thành viên có trong danh sách những người đã tham gia
hệ thống
- Xem thông tin của một thành viên bất kỳ
- Thay đổi Password
- Đổi phông chữ thể hiện
- Đổi màu cho phông chữ
- Đổi màu cho background thể hiện
Trang 9Xây Dựng chương trình
2
1
BK Chương trình thực hiện ở Server.
Chương trình thực hiện ở Client.
Trang 10Chương trình thực hiện ở Server
+ Chương trình sẽ được thực hiện tại máy Server, và chỉ có Admin mới có các đặc quyền sử dụng và Login vào hệ thống
+ Chương trình này sẽ luôn luôn chờ đợi và lắng nghe tất cả các yêu cầu từ các máy Client gởi tới cổng private chat là 55 Đoạn lệnh được thực hiện như sau:
try{
ss= new ServerSocket(portchat);
.
do { Socket s = ss.accept();
.
} while(true);
}catch(IOException e){}
Lúc này server sẽ cung cấp cho client một thread và thread này sẽ đặc quyền lắng nghe và trao đổi xử lý thông tin với các client khác cho tới khi Client kết thúc phiên làm việc của mình hay đóng kết nối thì thread này cũng tự kết thúc và giải phóng khỏi chương trình Để thực hiện được các chức năng đó thì vòng lặp vô tận trong lớp ServerPrivateThread.class đảm nhiệm công việc và lớp kế thừa của nó là ListenPrivate.class, lớp này có vai trò rất quan trọng và mọi sự việc xảy ra ở lớp ServerPrivatethread.class đều thông qua nó cả Sau đây là đoạn mã mô tả cho hoạt động trên.
public void run() { try {
in= new DataInputStream(socket.getInputStream());
out=new DataOutputStream(socket.getOutputStream());
…………
BK
Trang 11Chương trình thực hiện ở client.
BK
Chương trình bị hạn chế một số đặc quyền mà chỉ có Admin mới có Một ưu điểm nữa là bạn có thể sử dụng chương trình trong bất kỳ trường hợp nào, bất kỳ môi trường nào hoặc trong bất kỳ máy vi tính nào, điều kiện là phải sử dụng chương trình ,tại đây người sử dụng sẽ thực hiện các công việc yêu cầu đến Server thông qua cổng kết nối là 55 , và Server sau khi nhận được yêu cầu sẽ xử lý và gởi trả lời về cho chương trình, để vào được hệ thống trước tiên người sử dụng phải là một thành viên của công ty, và được sự chấp nhận của những người quản lý (Admin) của hệ thống này Admin sẽ cấp cho người sử dụng một account để đăng nhập, và tuỳ thuộc vào account này mà người sử dụng
có quyền truy cập đến đâu trong hệ thống Mô tả hoạt động này như sau
try{
in=new DataInputStream(socket.getInputStream());
out=new DataOutputStream(socket.getOutputStream()); }catch( IOException ie ) {}
this.start();
}
Trang 12THIẾT KẾ HỆ THỐNG
- Người sử dụng muốn vào được hệ thống của Company Chat phải thông qua Login đăng nhập Username và Password, sau đó sẽ được hệ thống kiểm tra, nếu thành công sẽ được tham gia vào hệ thống Ngược lại sẽ bị lỗi Và tuỳ thuộc vào mã đăng nhập, chức
vụ liên quan mà người sử dụng được phép truy nhập đến đâu trong hệ thống.
Trang 13Chương trình thực hiện tại
Server
Trang 14Giao diện đăng nhập vào hệ thống
Trang 15Thông tin về Server
Trang 16Khung thoại “Chat”
BK
Trang 17Gởi File
BK
Trang 18Hạn chế và hướng phát triển chương trình
- Hạn chế.
+Vì thời gian có hạn nên chương trình còn bị hạn chế nhiều về chức năng, tính thân thiện với người dùng, tính bảo mật.
+Chương trình chỉ mới Demo được trên mạng Lan tại công ty xăng dầu Phú Khánh.
- Hướng phát triển chương trình.
+ Có thể phát triển chương trình theo hướng phân tán bằng cách dùng RMI.
+ Phân chia phòng ban, thêm một số chức năng để tăng thêm sự thân thiện và dễ sử dụng cho người dùng.
+Tạo sự bảo mật để chương trình có thể sử dụng bất kỳ nơi nào trực thuộc công ty.
BK
Trang 19LỜI CẢM ƠN
Xin cho em gởi những lời biết ơn chân thành nhất đến :
Thầy Hồ Sỹ Bàng - người đã trực tiếp hướng dẫn,
tận tình giúp đỡ và chia sẻ các kinh nghiệm quý báu cho em trong suốt quá trình làm đồ án
Công ty xăng dầu Phú Khánh đã tạo điều kiện tốt cho em thực hiện đồ án này