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 3Hạ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
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 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
BKChươ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 11try{
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 18- 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