bao cao do an

26
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN Lớp WINP1.B21 Nhóm 26 BÁO CÁO ĐỒ ÁN LP TRÌNH TRÊN WINDOWS ĐỀ TÀI Xây Dựng Chương Trình LAN Chat GIÁO VIÊN HƯỚNG DẪN: THS.PHẠM THI VƯƠNG NHÓM SINH VIÊN THỰC HIỆN: NGÔ DUY KHÁNH (09520414) NGUYỄN TRỌNG NHÂN (09520425) VĂN PHÚ HIẾU (09520409) TP. HCHÍ MINH, 6/2011

Upload: luong-dinh-thap

Post on 24-Nov-2015

73 views

Category:

Documents


4 download

TRANSCRIPT

  • I HC QUC GIA TP. H CH MINH

    TRNG I HC CNG NGH THNG TIN

    Lp WINP1.B21 Nhm 26

    BO CO

    N LP TRNH TRN WINDOWS

    TI

    Xy Dng Chng Trnh LAN Chat

    GIO VIN HNG DN:

    THS.PHM THI VNG

    NHM SINH VIN THC HIN:

    NG DUY KHNH (09520414)

    NGUYN TRNG NHN (09520425)

    VN PH HIU (09520409)

    TP. H CH MINH, 6/2011

  • 1

    Mc Lc

    I- Gii thiu v .Net Remoting: ................................................................................ 2

    1/ .Net Remoting ...................................................................................................... 2

    2/ .NET Remoting so vi Web Services .................................................................. 2

    3/ Remote Objects trong .NET Remoting ................................................................ 3

    4/ Domain ................................................................................................................. 4

    5/ Channel ................................................................................................................. 4

    6/ Object Activation: ................................................................................................ 4

    7/ Client Activated Objects: ..................................................................................... 5

    8/ To mt Remotable Object: ................................................................................. 6

    II- Gii thiu v Socket: .............................................................................................. 6

    1/ Socket ................................................................................................................... 6

    2/ Chc nng ............................................................................................................. 7

    3/ Phn loi ............................................................................................................... 7

    4/ Thnh phn ........................................................................................................... 7

    5/ Cc ch giao tip ............................................................................................. 9

    6/ Xy dng ng dng Client-Server vi Socket ................................................... 10

    III- Chng trnh LAN Messenger: ...................................................................... 13

    1/ Tng quan cc Form trong chng trnh .............................................................. 13

    2/ Cc th vin km theo chng trnh .................................................................... 14

    3/ Cc k thut dng trong chng trnh .................................................................. 14

    4/ Cc tnh nng lm c cho mt chng trnh Chat qua mng LAN ............. 14

    5/ Cc tnh nng cha lm c, s ci thit hoc pht trin cc phin bn k tip

    .................................................................................................................................. 15

    6/ Hng dn s dng chng trnh: ........................................................................ 15

    IV- Ti liu tham kho: .......................................................................................... 25

  • 2

    I- Gii thiu v .Net Remoting:

    1- .Net Remoting:

    .Net Remoting l c ch giao tip gia cc i tng (object) m khng cng thuc

    mt Process. Gip cc lp i tng thuc cc ng dng khc nhau c th lin lc

    c vi nhau. Cc i tng ca cc ng dng ny c th c thit lp trn cng

    mt my tnh hay cc my tnh khc nhau v c giao tip t xa thng qua cc giao

    thc kt ni nh HTTP, TCP.

    Microsft .Net Remoting c gii thiu t .Net Framework 1.1 cng vi Webservice.

    Cung cp cc k thut cho php mt i tng ny truy xut n mt i tng khc

    nm cc Application Domain khc nhau.

    2- .NET Remoting so vi Web Services:

    V kha cnh x l t xa th Web Services hon ton tng t nh .NET Remoting.

    Thm ch ngi ta c th lm cho .NET Remoting tr thnh 1 Web Services bng

    cch host n trong IIS. Web Services cho php cc ng dng c th giao tip vi nhau

    m khng ph thuc platform, ngn ng lp trnh, Tuy nhin Web Services l mt

    mi trng stateless, c ngha l n khng lu li bt k trng thi g ca ln gi

    trc v n cng khng bit g v pha client ang thc hin request. Client v server

    Web Services ch c th trao i vi nhau bng cc thng ip SOAP. Nhng iu sau

    y l cc im khc nhau chnh gia .NET Remoting v Web Serices, chng cng l

    nhng nhn t ta chn la gia 2 cng ngh ny:

    ASP.NET Web Services ch c th c truy xut qua HTTP cn .NET

    Remoting c th c dng trn nhiu giao thc khc nhau nh TCP, HTTP.

  • 3

    Web Services l mt mi trng stateless. Khi c mt request t pha client, s

    c mt object mi c to ra thc hin request trn server. Cn .NET

    Remoting li h tr nhiu la chn state management v c th thc hin nhiu

    request t mt client, ng thi c h tr callbacks.

    Web Services serialize cc i tng thnh XML bn trong SOAP message v

    v th c th truyn ti thng tin ca bt c thnh phn no min c th chuyn

    thnh XML. Cn i vi .NET Remoting th ty giao thc v nh dng

    message m n c th truyn i thng tin nh th no. Ngoi ra theo nh gii

    thiu th .NET Remoting c cho php i tng c truyn vo theo c kiu

    tham chiu(reference) v tham tr (value)

    Web services c th hot ng trn cc platform mi trng khc nhau trong

    khi .NET Remoting yu cu pha clients phi l .NET application.

    3- Remote Objects trong .NET Remoting:

    Nu nh mt chng trnh n th cc i tng s cng thuc trong ng dng ,

    v chng d dng giao tip c vi nhau; y c th c coi l Local Objects. Tuy

    nhin nu cc i tng li thuc nhng ng dng khc nhau (cc Application domain

    khc nhau) th cn c nhng Remote Object giao tip vi nhau. Remote Object c

    th c dn xut t MarshalByRefObject hay s dng [Serializable] tag

    hoc bng cch to cc giao din ISerializable.

    Cc loi Remote Object:

    Trong .NET Remoting, c hai c ch to instance ca Remote Object ri t thc

    thi request. l Singleton v Singlecall. Ty vo mc ch s dng, nhu cu ca

    ng dng m server c th khai bo theo c ch WellKnownObjectMode.SingleCall,

    hay WellKnownObjectMode.Singleton.

    - Single Call Object: Remote Object s c sinh ra, thc thi request, tr li

    cho client, sau Object ny vn c lu li ch khng b hy i. n khi

    no process chy chng trnh Server kt thc th instance ny mi b trnh ht

    rc Garbage Collection ht i.

    - Singleton Object: Ngc li vi Single Call, khi khai bo Remote Object l

    Singleton th Remote Object s c khi to v hy i i vi mi ln nhn

    request t pha Client. C ch ny tng t nh m hnh .NET Webservice

    truyn thng.

    - Client-Activated Objects (CAO): Thuc kiu Server-side object, chng ch

    c kch hot mi khi c request n t Client. Khi mt Client gi mt

    request ti Server s dng ton t new, mt thng ip s c gi ti

  • 4

    Remote Application. Server sau s to ra mt Instance ca lp c yu

    cu, v tr v mt ObjRef cho Client Application.

    4- Domain:

    Trong .NET, khi mt ng dng c np vo trong b nh, mt tin trnh c to

    ra, v trong qu trnh ny, mt min ng dng (Application Domain) cng c to

    ra. Trn thc t, ng dng ny s c np vo Application Domain. Mi ng dng c

    thuc cc Application Domain khc nhau, v th nu chng mun giao tip c vi

    nhau th phi s dng Remoting ch khng th giao tip trc tip vi nhau c. Cc

    Application Domain c th cng thuc mt process hoc khc process.

    5- Channel:

    Trong k thut .NET Remoting th Channel c hiu nh l mt knh giao tip

    gia client v server. Mt Object t Client s thng qua Channel giao tip vi

    Object pha server, Channel s truyn ti nhng message t hai pha. Nh gii thiu

    pha trn th c hai channel chnh l TcpChannel v HttpChannel tng ng vi cc

    giao thc TCP v HTTP. Ngoi ra, TcpChannel v HttpChannel u c kh

    nng extend thnh nhng Custom Channel.

    Cc nguyn tc khi thit lp mt Channel:

    - Cn c t nht mt Channel c ng k vi .NET Remoting trc khi

    Remote Object c gi. V cc Channels ny cn ng k trc cc Remote

    Object.

    - Channel c ng k trong mi Application Domain hoc nhiu Application

    Domain thuc mt Process. Khi Process kt thc th cc Channel ny cng t

    ng c hy i.

    - Khng th ng k cc Channel khc nhau trn cng mt port thuc cng mt

    my tnh mc d cc Channel ny c th cc Application Domai khc nhau.

    Khi thit lp nhiu Channel trn cng mt my tnh th chng cn listen cc

    port khc nhau.

    - Client lin lc vi Remote Object thng qua cc knh ng k bng vic gi

    cc RegisterChannel trn lp ChannelService.

    6- Object Activation:

    Server Actived Object ch c to ra ln u tin Client thit lp cuc gi ti cc

    Remote Method. Hay ni cch khc, Khi mt Client yu cu to ra cc Remote

    Object th ch cc proxy cc b c to ra Client, cn Remote Object thc t nm

    trn Server. Cc Remote Object ny s c khi to ln u tin Client thip lp

    cuc gi cho Server. V d to ra cc Proxy nh sau:

    ...

  • 5

    // Trn Server

    RemotingConfiguration.RegisterWellKnownServiceType(

    typeof (RemoteServerObject), "Test",

    WellKnownObjectMode.SingleCall);

    ...

    // Trn Client

    IRemoteCom obj = (IRemoteCom)Activator.GetObject(typeof(IRemoteCom),

    "tcp://localhost:1002/Test");

    ...

    Nh ni trn, chng ta c hai c ch to instance ca Remote Object l Single

    Call v Singleton. on m v d ca n nh sau:

    RemotingConfiguration.RegisterWellKnownServiceType( typeof(RemoteServerObject),

    "Test", WellKnownObjectMode.SingleCall); ...

    RemotingConfiguration.RegisterWellKnownServiceType( typeof(RemoteServerObject),

    "Test", WellKnownObjectMode.Singleton);

    7- Client Activated Objects:

    i tng Client Activated Object c to ra mi trn Server ngay lp tc mi khi

    c request t Client hoc cng c th to ra bng t kha new hoc

    Activator.CreateInstance().

    ...

    // On the Server

    RemotingConfiguration.ApplicationName = "TestCAO";

    RemotingConfiguration.RegisterActivatedServiceType(typeof(RemoteObjectCAO));

    ...

    // On the Client

    RemotingConfiguration.RegisterActivatedClientType(typeof(RemoteObjectCAO),

    "tcp://localhost:1002/TestCAO");

    obj = new RemoteObjectCAO();

    ...

    Ty thuc vo hon cnh v nhu cu m ta s dng loi khc nhau. V d:

    - Singleton object c dng tham chiu n nhng i tng cng trn mt

    server, v bt k thay i ca Client cng s visible (hin hu) vi nhng

  • 6

    Client khc. V d nh trong h iu hnh Windows, khi mt chng trnh thay

    th cc Client Program khc cng bit c. D liu s c lu trn my ch

    v c truy cp bi tt c cc Client

    - Chng ta s dng SingleCall khi mun cung cp mt mi trng stateless

    (Kiu ging ca Web services truyn thng.

    - Chng ta s dng Client Activation nu i ng cn phi c duy try

    trng thi kt ni lin tc, trao i thng tin vi cc client khc.

    8- To mt Remotable Object:

    Mt Remote Object l mt i tng c k tha t lp MarshalByRefObject.

    Trong C#, khi to mt lp th vin mi. Ta Add thm lp c tn

    MarshalByRefObject nh ni trn. Khai bo using

    System.Runtime.Remoting c th s dng c cc TcpChannel hay

    HttpChannel.

    V d:

    MyRemotableObject.cs

    namespace RemotableObjects

    {

    public class MyRemotableObject : MarshalByRefObject

    {

    public MyRemotableObject()

    {

    }

    public void SetMessage(string message)

    {

    Cache.GetInstance().MessageString = message;

    }

    }

    }

    II- Gii thiu v Socket:

    1- Socket:

    Socket l mt phng php thit lp kt ni truyn thng gia mt chng trnh

    yu cu dch v ( client) v mt chng trnh cung cp dch v (server) trn mng

    LAN, WAN hay Internet v i lc l gia nhng qu trnh ngay bn trong my

    tnh. Mi socket c th c xem nh mt im cui trong mt kt ni. Mt socket

    trn my yu cu dch v c a ch mng c cp sn gi mt socket trn

    my cung cp dch v. Mt khi socket c thit lp ph hp, hai my tnh c

    th trao i dch v v d liu. Socket c gii thiu ln u tin trong n bn

    UNIX - BSD 4.2. di dng cc hm h thng theo c php ngn ng C (socket(),

    bind(), connect(), send(), receive(), read(), write(), close() ,..). Ngy nay, Socket

  • 7

    c h tr trong hu ht cc h iu hnh nh MS Windows (WinSock), Linux v

    c s dng trong nhiu ngn ng lp trnh khc nhau: nh C, C++, C#, Java,

    Visual Basic, Visual C++ . . .

    2- Chc nng:

    Socket cho php thit lp cc knh giao tip m hai u knh c xc nh bi hai

    cng (port). Thng qua cc cng ny mt tin trnh c th nhn v gi d liu vi

    cc tin trnh khc.

    3- Phn loi:

    C cc loi Socket chnh l:

    + Socket kiu AF_UNIX ch cho php giao tip gia cc tin trnh trong cng

    mt my tnh.

    + Socket kiu AF_INTET cho php giao tip gia cc tin trnh trn nhng

    my tnh khc nhau trn mng.

    Phn loi theo kiu kt ni:

    + Socket hng kt ni (TCP Socket)

    + Socket khng hng kt ni (UDP Socket)

    4- Thnh phn:

    4.1- S hiu cng (Port Number) ca Socket

    c th thc hin cc cuc giao tip, mt trong hai tin trnh phi cho bit s

    hiu cng ca socket m mnh s dng. Mi cng giao tip th hin mt a ch xc

    nh trong mt h thng. Khi tin trnh c gn mt s hiu cng (Server), n c

    th nhn d liu gi n cng ny t tin trnh khc (Client). Tin trnh cn li cng

  • 8

    yu cu to ra mt socket.

    4.2- a ch IP

    Ngoi s hiu cng, hai bn giao tip cn phi bit a ch IP ca nhau. Trong

    khi s hiu cng dng phn bit cc qu trnh khc nhau trn cng mt my tnh

    th IP dng phn bit cc my tnh khc nhau trn cng mt mng TCP/IP.

    Trong hnh trn, a ch ca tin trnh B1 c xc nh bng 2 thng tin:

    (Host B, Port B1)

    + a ch my tnh c th l a ch IP dng 118.69.123.139 hay l a ch

    theo dng domain nh www.uit.edu.vn.

    + S hiu cng gn cho Socket phi l duy nht trn phm vi my , c gi

    tr trong khong t 0-65535 (16 bits). Trong cc cng t 1-1023 c gi l cng

    h thng c dnh ring cho cc tin trnh ca h thng.

    S hiu cng Qu trnh h thng

    21 Dch v FTP

    23 Dch v telnet

    25 Dch v mail (SMTP)

    80 HTTP

    110 Mail (POP3)

  • 9

    443 HTTPS

    5- Cc ch giao tip:

    Xt kin trc ca h thng mng TCP/IP

    Tng vn chuyn (Transport Layer) gip chuyn tip cc thng ip gia cc

    chng trnh vi nhau. N c th hot ng theo hai ch :

    + Giao tip c ni kt, nu gia chng s dng giao thc TCP.

    + Giao tip khng kt ni, nu s dng giao thc UDP.

    Socket l giao din gia chng trnh v lp vn chuyn. N cho php ta chn

    giao thc s dng tng vn chuyn l TCP hay UDP cho chng trnh ng dng

    ca mnh.

    Bng so snh s khc bin gia hai ch giao tip c kt ni v khng kt ni.

    Ch c ni kt Ch khng ni kt

    + Tn ti knh giao tip o gia hai bn giao tip. + D liu c gi i theo bo m: c kim tra li, truyn li gi tin li hay mt, m bo th t ca cc gi tin.

    + D liu chnh xc nhng tc truyn chm.

    + Khng tn ti knh giao tip o gia hai bn.

    + D liu c gi i khng m bo: Khng kim tra li, khng pht hin v truyn li gi tin b li hay mt, khng m bo th t n ca cc gi tin. + D liu khng chnh xc, tc truyn nhanh.

  • 10

    6- Xy dng ng dng Client-Server vi Socket:

    Socket l phng tin hiu qu xy dng cc ng dng theo kin trc

    Client-Server. Cc ng dng trn Internet nh Web, Mail, FTP.. . l cc v d in

    hnh.

    Chng ta s tm hiu v cc bc c bn trong vic xy dng cc ng dng

    Client-Server s dng Socket lm phng tin giao tip theo ch hng kt ni

    (c ng dng trong phn gi file v gi hnh nh trong chng trnh).

    M hnh Client-Server s dng Socket ch c kt ni (TCP)

    Giai on 1: Server to Socket, gn s hiu cng v lng nghe cc kt ni.

    1. public void StartListening()

    2. {

    3. byte[] bytes = new Byte[1024];

    4. IPEndPoint ipEnd = new IPEndPoint(IPAddress.Any, 6565);

    5. Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream,

    ProtocolType.Tcp);

    6. try

    7. {

    8. listener.Bind(ipEnd);

    9. listener.Listen(100);

    10. while (true)

    11. {

    12. allDone.Reset();

    13. listener.BeginAccept(new AsyncCallback(AcceptCallback), listener);

    14. allDone.WaitOne();

    15. }

    16. }

    17. catch (Exception ex)

    18. {

    19. UpdateStatus(ex.Message);

    20. }

    21. }

  • 11

    Ta thy Server khi to mt Socket gm IP v port 6565 v sn sng lng nghe kt

    ni trn cng 6565 t Client.

    Giai an 2: Client to Socket, yu cu thit lp mt ni kt vi Server

    1. private void btnSend_Click(object sender, EventArgs e)

    2. {

    3. Socket clientSock = new Socket(AddressFamily.InterNetwork,

    SocketType.Stream, ProtocolType.Tcp);

    4. byte[] fileName = Encoding.UTF8.GetBytes(fName); // tn file

    5. byte[] fileData = File.ReadAllBytes(txtFileLink.Text); // d liu

    6. byte[] fileNameLen = BitConverter.GetBytes(fileName.Length); // di tn

    file

    7. clientData = new byte[4 + fileName.Length + fileData.Length];

    8. fileNameLen.CopyTo(clientData, 0);

    9. fileName.CopyTo(clientData, 4);

    10. fileData.CopyTo(clientData, 4 + fileName.Length);

    11. lblStatus.Text = "ang kt ni ti ngi nhn...";

    12. clientSock.Connect(IP, 6565); // IP my ch

    13. lblStatus.Text = "ang truyn ti d liu. Lm n i...";

    14. clientSock.Send(clientData);

    15. clientSock.Close();

    16. lblStatus.Text = "File c chuyn i thnh cng!";

    17. }

    - Client yu cu khi to mt socket s dng cc dch v ca tng vn chuyn, h

    thng s kim tra xem port no cn trng s t ng gn cho socket ca Client.

    Socket clientSock = new Socket(AddressFamily.InterNetwork, SocketType.Stream,

    ProtocolType.Tcp);

    - Client gi yu cu kt ni n Server c a ch IP v port xc nh:

    clientSock.Connect(IP, 6565);

  • 12

    - Sau khi Server chp nhn kt ni ca Client, khi mt knh giao tip o c hnh

    thnh, Client v Server c th trao i thng tin vi nhau.

    Giai an 3: Trao i thng tin gia Client v Server

    - Sau khi chp nhn yu cu kt ni, Server i Clinet gi yu cu n. y, Client

    dng clientSock.Send(clientData)gi ln lt cc byte ca d liu ln Server.

    Sau khi nhn c d liu t Client, Server tin hng chuyn i d liu nhn c l

    cc byte d liu thnh tn ca file m Client gi v d liu ca file. Trong qu trnh

    ny, gia Client v Server s lin tc trao i thng tin vi nhau v cc cc d liu

    nhn c, tun th theo cc quy tc ca giao thc xc lp t trc.

    Giai on 4: Kt thc phin lm vic

    Sau khi d liu gi xong, client s gi yu cu hy kt ni clientSock.Close();

    v knh o kt ni vi Server s b ng.

    Nh vy, ton b qu trnh s din ra nh sau.

  • 13

    III- Chng trnh LAN Messenger:

    1/ Tng quan cc Form trong chng trnh:

    Tn Form Chc ng

    Form1 Giao din chnh ca chng trnh.

    FormAbout Thng tin tc gi. FormAddContact Thm mt bn chat vo danh sch bn b.

    FormChangeDisplayName Thay i tn hin th (Aliass) ca nick chat.

    FormChangePassword Thay i mt khu.

    FormChatRoom Giao din chnh ca Room chat v cc chc nng. FormJoinRoom Tham gia vo m Room chat c to.

    FormCreateAccount Giao din to mt ngi dng mi.

    FormFileSender Giao din chc nng gi file bn ngi gi. FormFileReceive Giao din chc nng gi file bn ngi nhn.

    FormLogsReader Xem li lch s chat ca nick hin hnh.

    FormMessage Giao din ca s chat, s dng cc thao tc nng cao nh Webcam, SendFile, Music,

    FormMusicPlayer Chng trnh nghe nhc online, mi bn nghe nhc. FormNetworkSetting Thit lp IP my ch.

    FormOfflineMessage Xem cc tin nhn Offline.

    FormOption Chc cc ty chnh ca chng trnh. FormPhotoSend Giao din chia s hnh nh bn ngi gi.

    FormPhotoReceive Giao din chia s hnh nh bn ngi nhn.

    FormSelectContact Xa nick chat ra khi list. FormSignIn Giao din ng nhp

    FormWebcam Xem webcam 2 ngi dng ang chat trc tip.

  • 14

    2/ Cc th vin km theo chng trnh:

    Tn th vin Chc nng

    AxInterop.WMPLib.dll Interop.WMPLib.dll

    Cc th vin gip s dng Windows Media Player c sn trong Windows dng cho tnh nng Nghe nhc trc tuyn.

    DirectX.Capture.dll DShowNET.dll

    Th vin ha, h tr cho tnh nng Chat Webcam

    Khendys.Controls.ExRichTextBox.dll Th vin b sung cho Control RichtextBox. Gip chn mt ci vo Richtextbox d dng hn.

    LanMessengerNotify.dll Th vin s dng tnh nng bo trng thi khi mt nick Online/ Offline hay Invisible.

    LanMessengerContact.dll UserControl s dng cho Listchat (danh b). LanMessengerChatRoomBase.dll Lp c s ca tnh nng Room chat, s dng trong .Net

    Remoting

    3/ Cc k thut dng trong chng trnh:

    - .Net Remoting s dng Singleton. ng k cc knh Httpchannel v

    TCPchannel.

    - Socket s dng giao thc TCP.

    - Cc hm x l I/O, x l tin trnh.

    - Regular Expression.

    - Truyn gi tr gia cc Form s dng Delegate v thng qua Construtor.

    - X l m HTML khi hin th ln Webrowser.

    -

    4/ Cc tnh nng lm c cho mt chng trnh Chat qua mng LAN:

    - C th Chat qua mng LAN vi ni dung l text.

    - H tr qun l nhiu bn chat bng danh b, c th chat vi nhiu ngi cng

    mt lc.

    - H tr to Room Chat, chat theo nhm. Phn quyn c mi bn chat vo

    Room Chat.

    - H tr gi v xem tin nhn Offline.

    - H tr gi file.

    - H tr chia s hnh nh km theo tnh nng SlideShow.

    - H tr xem Webcam.

    - H tr tm kim v nghe nhc trc tuyn. Mi bn chat nghe nhc.

    - H tr xem li Log chat.

    - H tr cc ty chnh cho ngi dng.

    - Cho php thao tc danh b bng menu.

    - Thng bo trng thi nick chnh xc (Online/Offline/Invisible).

    - Chng trnh s dng t ti nguyn h thng.

    -

  • 15

    5/ Cc tnh nng cha lm c, s ci thit hoc pht trin cc phin bn

    k tip:

    - Voice Chat.

    - Chia s hnh nh theo hai chiu.

    - Hin th Avatar khi ngi dng ng nhp nhiu my khc nhau.

    - Thay i ca s chat t Richtextbox sang s dng Web browser. Ci tin giao

    din ca s Chat.

    - Pht trin rng hn theo hng c th hot ng trong mi trng Internet.

    -

    6/ Hng dn s dng chng trnh:

    Giao din Server:

    Hin th IP ca Server v cc log.

    Giao din ngi dng:

    Thit lp mng:

    T giao din chnh ca chng trnh, chng ta ng ca s ng nhp. Vo phn M

    rng ->Thit lp mng.

  • 16

    Trong ca s mi, nhp IP ca my tnh lm Server. y l 192.168.1.99, chn

    ng .

    Bt u ng nhp vo chng trnh. Vo Messenger -> ng nhp

  • 17

    To ti khon:

    Ti ca s ng nhp, chn To ti khon mi s dng.

    Trong Form ng k, cung cp nhng thng tin v tn ti khon, mt khu v tn hin

    th. Sau chn To.

  • 18

    MessageBox thng bo vic to ti khon thnh cng. Chng ta c th s dng ti

    khon ny ng nhp vo chng trnh. Chn ng nhp. V vo giao din

    chnh ca chng trnh.

    Giao din chnh:

  • 19

    Chc nng Menu Bar

    Menu Chc nng Phm tt M t

    Messenger

    Gi mt tin nhn Ctrl+G Gi tin nhn ti mt ngi.

    Thm bn b Ctrl+T Thm mt ngi vo danh sch bn b (Friend List).

    Xa bn b Ctrl+Shift+X Xa mt ngi trong danh sch bn b (Friend List).

    Lch s chat Ctrl+L Xem li Log chat gn y.

    ng nhp bng ti khon khc ng nhp bng ti khon khc

    ng xut Ctrl+D ng xut Thu nh xung khay h thng Ctrl+M Thu nh xung khay h thng

    Thot Alt+F4 Thot chng trnh

    M rng Ty chnh

    Thay i ci t v m thanh, ni lu file, lch s chat

    Thit lp mng Ty chnh IP ca Server chat i tn hin th vi bn b i tn hin th vi bn b

    Nghe nhc online

    Nghe nhc trc tuyn t mp3.zing.vn. Tm kim, download bi ht. Mi bn cht nghe nhc.

    M mt Room Chat To Room chat cho nhiu ngi cng tham gia.

    Tham gia Room Chat Tham gia Room chat co sn. Tr gip Hng dn s dng Hng dn s dng.

    Thng tin Nhm thc hin.

    Ca s chat:

    Ca s Chat:

  • 20

    Menu Chc nng Phm tt M t

    Gi Emoticons ti bn Chat Gi Emoticons ti bn Chat

    Gi ting Buzz ti bn Chat Ctrl+G Gi ting Buzz ti bn Chat

    Chia s file ti bn Chat Gi file ti bn Chat

    Chia s hnh nh Chia s hnh nh

    Chia s File Chia s File

    Chia s file:

    Gi file: Bm "Chn file cn gi" chn file mun chia s. H tr tt c cc loi file.

    Sau chn Gi. Kt qu ca qu trnh gi file s c cp nhn thanh Trng thi.

    Lc cha gi:

    Gi thnh cng:

  • 21

    Chia s hnh nh:

    Gi nh: Sau khi chn nt gi nh, ca s Chia s hnh nh c bt ln 2 bn. Hnh nh c gi s hin ln c 2 bn, di dng slide hnh nh.

    Bn gi nh:

  • 22

    Bn nhn nh:

    Webcam

    Hin th webcam 2 ngi ang chat trc tip vi nhau.

  • 23

    Nghe nhc:

    Menu Chc nng Phm tt M t

    Nhp tn bi ht cn tm

    (1) Tm kim bi ht t mp3.zing.vn

    Tm kim bi ht t mp3.zing.vn

    Danh sch bi ht tm c (2)

    Kt qu tm kim c ca bi ht trn

    Kt qu tm kim c ca bi

    ht trn

    Thng tin ca bi ht

    (3)

    Thng tin lin quan ti bi ht bao gm v tn bi ht v ngi

    trnh by

    Thng tin lin quan ti bi ht bao gm v tn bi ht v

    ngi trnh by

    Mi bn trong list

    nghe nhc (4)

    Mi bn c trong danh sch cng nghe nhc

    Mi bn c trong danh sch

    cng nghe nhc

    Tm kim(5) Tm kim bi ht Tm kim bi ht

    Ti v my (6)

    Download bi ht c chn v my

    Download bi ht c chn v

    my

  • 24

    To Room Chat

    Menu Chc nng M t

    Ni dung chat (1)

    Hin th ni dung chat ca c phng chat

    Hin th ni dung chat ca c phng chat

    Nick trong Room (2)

    Danh sch cc nick tham gia room chat

    Danh sch cc nick tham gia room chat

    Mi thm bn chat (3)

    Mi bn c trong danh sch bn b tham gia vo phng chat

    Mi bn c trong danh sch bn b tham gia vo phng chat

    Khung son tho (4) Khung son ni dung chat Khung son ni dung chat

  • 25

    IV- Ti liu tham kho:

    Din n Cng ng C vit - http://www.congdongcviet.com.

    Cng ng CodeProject http://www.codeproject.com.