ݺߣ

ݺߣShare a Scribd company logo
Giới thiệu về chương trình Tên chương trình :  ChatMessager Môi trường chạy  : jdk1.5 Mô hình ứng dụng :  client / server và giao   thức TCP/IP
Giới thiệu về nhóm và giảng viên Giảng viên hướng dẫn : Ths. Đinh Quang Thắng Nhóm thực hiện : 1. Trần Thị Kim Dung  2. Phan Thị Thu Hà 3. Nguyễn Thị Nga 4. Đoàn Thị Phương  Lớp K50A3 – Toán Tin Ứng Dụng
Nội dung Giới thiệu chung về mô hình Client và Server 1.1  Sơ đồ 1.2  Chi tiết 2.  Thông tin chi tiết về chương trình 2.1  Kết nối giữa client và server 2.2 Sơ đồ khối 2.3  Các class dùng chung 2.4  Hoạt động của chương trình
Phần 1 Mô hình Client – Server (trạm - chủ)
Sơ đồ
Chi tiết Các Client được nối với các Server, nhận quyền truy nhập mạng và tài nguyên mạng từ  Server.  Server : + Nhận yêu cầu từ phía Client + Xử lý và trả lại kết quả cho Client Client: + Gửi những yêu cầu của người dùng về Server + Nhận lại kết quả và hiển thị lên các giao diện.
Phần 2 Chương Trình Chi Tiết
Kết nối Server : // Mở cổng kết nối ServerSocket server=new ServerSocket(1002); // Bắt client Socket client=server.accept(); ProcessClient  processClient =new ProcessClient(client); Client : portConnect=Integer.parseInt(txtPort.getText());   ipConnect=txtServer.getText(); client = new Socket(ipConnect,portConnect);
Sơ đồ khối
Các class dùng chung  User Message IP UserOnline
User public class User implements java.io.Serializable { public String id, password,password2, name, age, sex, country, city, address,  email ,phone; public User (String id, String password, String password2, String name, String age, String sex,  String country, String city, String address, String email, String phone) { this.id=id; this.password=password; this.password2=password2; this.name=name; this.age=age; this.sex=sex; this.country=country; this.city=city; this.address=address; this.email=email; this.phone=phone; } public String toString(){ return (id+":"+password); } public String getID(){ return id; } public int getStatus(){   return 1; } public int getStatusBusy(){ return 2; } public String getName() { return name; } }
Message import java.util.Vector; public class Message implements java.io.Serializable { public String Header; public String fromUser; public String toUser; public String message; public String isOnline; public Vector listIdUpdate; public byte[] file; public Message(String Header,String fromUser,   String toUser,String message,String isOnline,   Vector listIdUpdate,byte[] file) { this.Header=Header; this.fromUser=fromUser; this.toUser=toUser; this.message=message; this.isOnline=isOnline; this.listIdUpdate=listIdUpdate; this.file=file; } public String toString() { return (fromUser+":"+message); } }
IP import java.io.Serializable; public  class IP implements Serializable { private String ip; public IP(String ip) { this.ip=ip; } public String getIP() { return(ip); } public void setIP(String ip) { this.ip=ip; } }
UserOnline import java.io.ObjectOutputStream; public class UserOnline implements java.io.Serializable { ObjectOutputStream toClient; String user; String isOnline; public UserOnline(ObjectOutputStream toClient,String user,String  isOnline) { this.toClient=toClient; this.user=user; this.isOnline=isOnline; } public String getUser() { return user; } }
Hoạt động chính
Login Client  Message("Login",txtID.getText(),txtPass.getText(),txtID.getText()+":"+txtPass.getText(),"Invisible",null,null); Server  Message("Login",null,null,"True","Available",null,null)
Register Client:  toServer.writeObject((User)userRegister); Server:  toClient.writeObject(new Message(null,null,null,"NotOk",null,null, null));
MainChat 1. Change Password 2. Change Status 3. Add nick 4. Send/ Receive Message  ( Online/ Offline ) 5. Send File 6. Signout / Exit
ChangePassword Client :  Message("ChangePassword",user,txtOld.getText(),txtNew.getText(),null,null,null) Server :  Message("ChangePassword",null,null,"Successfully",null,null,null)
Change Status Client : Message("Status",user,null,null,"Invisible",null,null)); Server : Message("Update",id,null,null,status,null,null));
Add nick Client : Message("Add",user,txtAdd.getText(),null,null,null,null); Server : Message("Add",MeSG.fromUser,MeSG.toUser,"True","Invisible",(Vector)MeSG.listIdUpdate,null));
Message  Gửi / nhận message (online) Gửi / nhận message ( offline)
Message Online Client:  ("Message",user,toUser,txtend.getText(),ngaygio,null,null)); Server : toClient.writeObject((Message) MeSG;
Message Offline Client : Message("Message",user,toUser,txtSend.getText(),ngaygio,null,null) Server : Message("OfflineMessage",null,null,null,null,(Vector)v1,null);
Send File
Xin Chân Thành Cảm Ơn !

More Related Content

Similar to ChatMessenger (20)

DOC
File
ngocngan91
DOC
Bt th lt phan tan
huynhthingoc
PDF
Socket
Dao Nguyen
DOCX
Lab lap trinhmang_v3
hieunguyen929915
DOC
Sử dụng Socket trong Java xây dựng chương trình CHAT Room theo mô hình Client...
DỊCH VỤ VIẾT ĐỀ TÀI TRỌN GÓI ZALO/ TEL: 0909.232.620
DOC
Bao cao do an ltm hoan chinh
Ngok Ánk
PPTX
Chat aplication
Thao Ho
PPTX
Socket - Lập trình hệ thống
Đông Nguyễn Văn
DOC
Đồ Án Tốt Nghiệp Về Tìm Hiểu Ngôn Ngữ Lập Trình C Sharp Và Viết Ứng Dụng Cha...
mokoboo56
PDF
Lt socket
Hung Pham
PDF
lap-trinh-mang_nguyen-van-hiep_laptrinhmang - [cuuduongthancong.com].pdf
22h1120103
PDF
lam_chat_room_3348.pdf
dinhson2000
PPT
Videoconferencereport
tuanle1984
PDF
baocaodoancoso1kykkukytktykhhhhhhhhhhhhhhpdfbvbgng
huynguyennhu226
PDF
Bai giang-Lap trinh he thong-Ch2-Lap trinh Socket.pdf
CanhPhuongVan
PDF
Dsd02 sta
Văn Đào Tiến
DOC
Xay dung chuong_trinh_chat_hoat_dong_trong_mang_lan_pc_ma_rnymog_201304100238...
hoangthomdtvt
PDF
Baigiang ltm
khanhk55bk
PDF
Khoa công nghệ thông tin và truyền thôngbáo cáođồ án cơ sở 4đề tài lập trình ...
jackjohn45
Bt th lt phan tan
huynhthingoc
Lab lap trinhmang_v3
hieunguyen929915
Sử dụng Socket trong Java xây dựng chương trình CHAT Room theo mô hình Client...
DỊCH VỤ VIẾT ĐỀ TÀI TRỌN GÓI ZALO/ TEL: 0909.232.620
Bao cao do an ltm hoan chinh
Ngok Ánk
Chat aplication
Thao Ho
Socket - Lập trình hệ thống
Đông Nguyễn Văn
Đồ Án Tốt Nghiệp Về Tìm Hiểu Ngôn Ngữ Lập Trình C Sharp Và Viết Ứng Dụng Cha...
mokoboo56
Lt socket
Hung Pham
lap-trinh-mang_nguyen-van-hiep_laptrinhmang - [cuuduongthancong.com].pdf
22h1120103
lam_chat_room_3348.pdf
dinhson2000
Videoconferencereport
tuanle1984
baocaodoancoso1kykkukytktykhhhhhhhhhhhhhhpdfbvbgng
huynguyennhu226
Bai giang-Lap trinh he thong-Ch2-Lap trinh Socket.pdf
CanhPhuongVan
Xay dung chuong_trinh_chat_hoat_dong_trong_mang_lan_pc_ma_rnymog_201304100238...
hoangthomdtvt
Baigiang ltm
khanhk55bk
Khoa công nghệ thông tin và truyền thôngbáo cáođồ án cơ sở 4đề tài lập trình ...
jackjohn45

Recently uploaded (8)

DOCX
SITRANS Probe LU240 – Giải pháp đo mức siêu âm chính xác, bền bỉ từ Siemens
Khoa Tran Dang
DOCX
Kiểm Soát Quyền Truy Cập trong Java | Tìm Hiểu và Ứng Dụng
Java Highlight
PDF
cau-truc-du-lieu-va-giai-thuat_pham-the-bao_slides---cay.pdf
chinhdao89
PDF
Bài giảng môn Kinh Tế Số dành cho các sinh viên Đại học
kaikidkudo
PPTX
BÀI 1 PHẦN CỨNG PM CỦA EM TIẾT 2 2.pptx
TnHnhL
PDF
Ebook Giáo trình Make.com: Từ Căn Bản Tới Nâng Cao tập 1
SlimCRM - Phần Mềm Quản Trị Doanh Nghiệp Vừa Và Nhỏ
PPT
CÔNG CỤ , KĨ THUẬT VÀ CÔNG TRÌNH-CHUONG 2.ppt
nguyenquangdieu1405
PPTX
ĐIỀU KHIỂN DAO ĐỘNG VÀ ỔN ĐỊNH TRÊN - Copy.pptx
phttai01
SITRANS Probe LU240 – Giải pháp đo mức siêu âm chính xác, bền bỉ từ Siemens
Khoa Tran Dang
Kiểm Soát Quyền Truy Cập trong Java | Tìm Hiểu và Ứng Dụng
Java Highlight
cau-truc-du-lieu-va-giai-thuat_pham-the-bao_slides---cay.pdf
chinhdao89
Bài giảng môn Kinh Tế Số dành cho các sinh viên Đại học
kaikidkudo
BÀI 1 PHẦN CỨNG PM CỦA EM TIẾT 2 2.pptx
TnHnhL
Ebook Giáo trình Make.com: Từ Căn Bản Tới Nâng Cao tập 1
SlimCRM - Phần Mềm Quản Trị Doanh Nghiệp Vừa Và Nhỏ
CÔNG CỤ , KĨ THUẬT VÀ CÔNG TRÌNH-CHUONG 2.ppt
nguyenquangdieu1405
ĐIỀU KHIỂN DAO ĐỘNG VÀ ỔN ĐỊNH TRÊN - Copy.pptx
phttai01
Ad

ChatMessenger

  • 1. Giới thiệu về chương trình Tên chương trình : ChatMessager Môi trường chạy : jdk1.5 Mô hình ứng dụng : client / server và giao thức TCP/IP
  • 2. Giới thiệu về nhóm và giảng viên Giảng viên hướng dẫn : Ths. Đinh Quang Thắng Nhóm thực hiện : 1. Trần Thị Kim Dung 2. Phan Thị Thu Hà 3. Nguyễn Thị Nga 4. Đoàn Thị Phương Lớp K50A3 – Toán Tin Ứng Dụng
  • 3. Nội dung Giới thiệu chung về mô hình Client và Server 1.1 Sơ đồ 1.2 Chi tiết 2. Thông tin chi tiết về chương trình 2.1 Kết nối giữa client và server 2.2 Sơ đồ khối 2.3 Các class dùng chung 2.4 Hoạt động của chương trình
  • 4. Phần 1 Mô hình Client – Server (trạm - chủ)
  • 6. Chi tiết Các Client được nối với các Server, nhận quyền truy nhập mạng và tài nguyên mạng từ Server. Server : + Nhận yêu cầu từ phía Client + Xử lý và trả lại kết quả cho Client Client: + Gửi những yêu cầu của người dùng về Server + Nhận lại kết quả và hiển thị lên các giao diện.
  • 7. Phần 2 Chương Trình Chi Tiết
  • 8. Kết nối Server : // Mở cổng kết nối ServerSocket server=new ServerSocket(1002); // Bắt client Socket client=server.accept(); ProcessClient processClient =new ProcessClient(client); Client : portConnect=Integer.parseInt(txtPort.getText()); ipConnect=txtServer.getText(); client = new Socket(ipConnect,portConnect);
  • 10. Các class dùng chung User Message IP UserOnline
  • 11. User public class User implements java.io.Serializable { public String id, password,password2, name, age, sex, country, city, address, email ,phone; public User (String id, String password, String password2, String name, String age, String sex, String country, String city, String address, String email, String phone) { this.id=id; this.password=password; this.password2=password2; this.name=name; this.age=age; this.sex=sex; this.country=country; this.city=city; this.address=address; this.email=email; this.phone=phone; } public String toString(){ return (id+":"+password); } public String getID(){ return id; } public int getStatus(){ return 1; } public int getStatusBusy(){ return 2; } public String getName() { return name; } }
  • 12. Message import java.util.Vector; public class Message implements java.io.Serializable { public String Header; public String fromUser; public String toUser; public String message; public String isOnline; public Vector listIdUpdate; public byte[] file; public Message(String Header,String fromUser, String toUser,String message,String isOnline, Vector listIdUpdate,byte[] file) { this.Header=Header; this.fromUser=fromUser; this.toUser=toUser; this.message=message; this.isOnline=isOnline; this.listIdUpdate=listIdUpdate; this.file=file; } public String toString() { return (fromUser+":"+message); } }
  • 13. IP import java.io.Serializable; public class IP implements Serializable { private String ip; public IP(String ip) { this.ip=ip; } public String getIP() { return(ip); } public void setIP(String ip) { this.ip=ip; } }
  • 14. UserOnline import java.io.ObjectOutputStream; public class UserOnline implements java.io.Serializable { ObjectOutputStream toClient; String user; String isOnline; public UserOnline(ObjectOutputStream toClient,String user,String isOnline) { this.toClient=toClient; this.user=user; this.isOnline=isOnline; } public String getUser() { return user; } }
  • 16. Login Client Message("Login",txtID.getText(),txtPass.getText(),txtID.getText()+":"+txtPass.getText(),"Invisible",null,null); Server Message("Login",null,null,"True","Available",null,null)
  • 17. Register Client: toServer.writeObject((User)userRegister); Server: toClient.writeObject(new Message(null,null,null,"NotOk",null,null, null));
  • 18. MainChat 1. Change Password 2. Change Status 3. Add nick 4. Send/ Receive Message ( Online/ Offline ) 5. Send File 6. Signout / Exit
  • 19. ChangePassword Client : Message("ChangePassword",user,txtOld.getText(),txtNew.getText(),null,null,null) Server : Message("ChangePassword",null,null,"Successfully",null,null,null)
  • 20. Change Status Client : Message("Status",user,null,null,"Invisible",null,null)); Server : Message("Update",id,null,null,status,null,null));
  • 21. Add nick Client : Message("Add",user,txtAdd.getText(),null,null,null,null); Server : Message("Add",MeSG.fromUser,MeSG.toUser,"True","Invisible",(Vector)MeSG.listIdUpdate,null));
  • 22. Message Gửi / nhận message (online) Gửi / nhận message ( offline)
  • 23. Message Online Client: ("Message",user,toUser,txtend.getText(),ngaygio,null,null)); Server : toClient.writeObject((Message) MeSG;
  • 24. Message Offline Client : Message("Message",user,toUser,txtSend.getText(),ngaygio,null,null) Server : Message("OfflineMessage",null,null,null,null,(Vector)v1,null);
  • 26. Xin Chân Thành Cảm Ơn !