ChatMessenger

887 views

Published on

:D

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • chao ban !! ban co the giup minh ko ? minh cung dang can chuong trinh nay !! nhung minh lam ma chua the chay dc !!
    thaihuynh12@yahoo.com
    cam on ban nhieu nhe!!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total views
887
On SlideShare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
17
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

ChatMessenger

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

×