BQ GIAO DVC vA BAo T~O TRUONG £>HDL NGO~I NGO' TIN HQC TP.HCM KHOACONGNGHBTHONGTIN KHOA LuAN • TOT NGHIEP • TiM HIEU GIAO THUC INTERNET RELAY CHAT. vA XAY DuNG ; pHAN MEM irNG DUNG •. GVHD: Thac si MAl VAN CUONG SVTH: NGUYEN THANH TUNG 0311301 TRUONG THI HONG THAM 0311314 THANH PHO HO CHi MINH - 2007 L01 CAM ON Sau nhiSu thang th\fc hi~n dS tai khoa lu~n t6t nghi~p mang ten "IRC - Internet Relay Chat Protocol: tim hi~u va tmg d\lng" da buac dftu hoan thanh. Ngoai S\f c6 g~ng tim hi~u cua chung em con co mQt phftn dong gop rftt to Ian cua thfty co, gia dinh va be b~n.
Truac het chung em xin cam an thfty Mai Van Cuang, nguai da tf\fC tiep huang '. dftn va dQng vien chung em trong nhfrng ngay thang th\fc hi~n dS tai nay. Ke den chung em cling xin cam an quy thfty co 6 truO'ng D~i hQc Ngo~i ngfr - Tin hQc Thanh ph6 H6 Chi Minh da truySn d~t cho chung em nhfrng kien thuc, kinh nghi~m va t~n tinh giup dO'chung em trong thai gian theo hQc t~i truang. Cu6i cling chung em xin cam an gia dinh, cac anh chi khoa truac va b~n be da giup dO', t~o diSu ki~n thu~n IQ'i cho chung em th\lc hi~n t6t dS tai nay.
MVCLVC GI6I THI$ U 8 •. Chuang 1: Gi6'i thi~u chung 9 1.1 IR CIa gi.2 Lich su cua giao thuc Internet Relay Chat 11 1.3 Cac RFC cua giao thuc IRC 13 Chuang 2: KiSn truc cua giao thuc IRC 15 2.1 Khai ni~m client va server 16 2.2 Mo hinh va kiSn truc cua h~ th6ng IRC 17 " 2.3 MQt s6 dich V\l duQ'cgiao thuc IRC h6 trQ' 18 2.1 Dinh vi client 19 2.2 Chuy~n tiSp (Relaying)cac thong di~p 19 2.3 SO' huu va qufm Iy cac kenh hQitho~i 19 2.4 Cac phuong thuc phan ph6i thong diep 19 2.3 Truy~n thong I-tfit ca 22 Chuang 3: Cac khai ni~m Co' ban trong giao thuc IRC 23 3.2 D~t ten cho mQt channel.3 Phan lo:;tichannel 27 3.7 Cac tr:;tngthai Mode 30 3.1 Cac tr:;tngthai cua channel 30 3.2 Cac tr:;tngthai cua user 35 Chuang 4: Phuang thuc chat tren h~ th6ng IRC 36 4.1 Qua" tnnh glao .1 D~ng chung cua cac thong diep 37 4.2 £>inhd~ng thong di~p theo 'pseudo' BNF 39 4.3 Cac thong di~p tra vS bfulg s6 40 4.2 Cac l~nh danh rieng cho operator.3 Cac l~nh dung cho user thong thuemg 48 4.1 Cac l~nh kSt n6i va ng~t kSt n6i 48 4.2 Cac l~nh dung dS gia nh~p va ho~t dong tren channel 53 4.3 Cac l~nh tim kiSm 61 4.4 Cac l~nh xem cau truc va thong tin cua IRC Network 69 4.5 Cac l~nh xem thong tin va d~c diSm cua server 73 4.6 M(lt s6 l~nh khac 76 4.4 M(lt s6 van dS rna r(lng cua giao th(rc IRC 79 4.1 CTCP - Client To Client Protocol 79 4.2 DCC - Direct Client to Client 81 4.3 M(lt s6 (rng d\lng ph6 biSn cua DCC 81 4.4 Script va Bot 83 Chuang 5: KiSn truc cua chuang trinh 84 5.1 Giao thuc IP 85 5.2 M6 hinh ho~t dQng client-server dung socket 86 5.2 KiSn truc phan tAng cua IRC Client va IRC Server 88 '6 5. •- gma c l'lent va, server. 89 Chuang 6:Ung d\mg giao thuc IRC 91 6.1 Ng6n ngu cai d~t 92 6.2 V~ thu vi~n rieng cua chuang trinh 93 6.3 Component Class ColoredComboBox 95 6.3 Phuong phap cai d~t Tiny IRC Client 96 6.1 SU d\lng mo hinh da tai li~u MDI 96 6.p mQttrinh duy~t nh6 96 6.3 Dung RichTextBox dS hiSn thi dfr li~u 97 6.4 H6 trQ'ti~ng Vi~t trong chuang trinh 97 6.5 H6 trQ'thong di~p co mau 99 6.6 Cac l~nh duQ'cchuang trinh h6 trQ' 100 6.4 MQt s6 ham chinh trong chuang trinh 101 6.1 Ham gui goi tin len server.2 Ham gui mQt l~nh do nguai dUng nh~p l02 6.3 Ham gui mQtthong di~p do nguai dUng nh~p 103 6.5 MQt s6 man hinh minh h(;>ava chuc nang 104 6.1 Thanh cong C\lcua cua sa chinh 104 6.2 Thanh tr~ng thai cua cua sa chinh 104 6.3 Menu "Chat" cua cua sa chinh 104 6.4 Menu "Xem" eua cua sa chinh l 05 6.5 Menu "Cong C\l" cua cua sa chinh 106 6.6 Menu "Cua s6" clla cua s6 chinh 107 6.7 Menu "Trq g,iup" clla cua s6 chinh 108 6.8 Giao di~n cua s6 chat 110 6.9 Giao di~n cua s6 trinh duy~t 114 K~t 1u~n 115 NhUng v~n dS da d~t duqc 116 Hu6'ng phat triSn 117 Ph\ll\lc 118 Ph\ll\lc A: Cac thong di~p s6 do server tra vS 119 Ph\ll\lc B: Cac phien ban CllaIRC Server 122 Gi6i Thi~u Trang 8 GIOITHIEU • Cling v6i S\f tiSn bQ vuqt b~c cua cac cong ngh~ m6i, cUQcs6ng cua con nguai nay cang hom thi~n va d~y du han.
De co kSt qua nay khong the khong nh~c t6i Internet. Internet la mQt ngu6n tai nguyen vo t~n, mQt cong C\lhfiu hi~u de m<;>i nguai co the xich l~i g~n nhau han. Co the noi Internet da thay d6i hoan toan cach nguai ta h<;>c t~p, lam vi~c va giai tri. NSu nhu tru6c day chUng ta g<;>i di~n tho~i thong qua h~ th6ng m~ng vi~n thong PSTN thi nay v6i cong ngh~ VoIP, chung ta co the th\fChi~n cac cUQc g<;>iqu6c tS v6i mQt chi phi rat thap nhung chat lu<;mgkhong thua kern la bao nhieu.
Hay nSu nhu tru6c day chung ta mu6n lien l~c v6i nguai than b~n be chung ta phai danh di~n,' viSt thu va cha h6i am thi nay v6i internet va dung cac chuang trinh chat, ta co the tan gau, xem hinh va nghe thay gi<;>ngnoi cua nguai than tuc thi, rut ng~n khoang cach gifra con nguai v6i con nguai. Vi thS, cu6n d6 an t6t nghi~p nay xin trinh bay ve giao thuc Internet Relay Chat, g<;>i t~t la IRC. Day la giao thuc Co' sa de hi~n th\fC cac h~ th6ng chat tren thS gi6i. tuy khong d~y du nhung cling ph~n nao trinh bay ve cac qui t~c, cach sir d\lllg va xay d\fng h~ th6ng m~ng IRe.
Qua do chung ta co the xay d\fllg mQt h~ th6ng de tan gau tren m~ng. Chuang 1: Gi6'i thi~u chung Trang 9 CHUONGMQT GIOI THIl:U CHUNG NQi dung: chuang nay se gi6'i thi~u chung vS giao thuc Internet Relay Chat, lich Slr va cac RFC (Request For Comment) cua giao thuc Internet Relay Chat. NQi dung g6m co: 1. IRC la gi? 2.
Lich su cua giao thuc Internet Relay Chat. Cac RFC cua giao thuc Internet Relay Chat. Chuang 1: Gi6i thi~u chung Trang 10 1.1 IRe hI gi? IRC la tu viSt t~t cua C\un tu "Internet Relay Chat" la mQt h~ th6ng truySn thong thai gian thvc va da nguai dung duqc rfit nhiSu nguai tren thS gi6i sir d\mg. Bay la mQt giao thfrc dUng dS tro chuy~n, tim g~u tren m~ng dVa tren van bim.
IRC chi ra cach kSt n6i giua cac client v6i nhau, giua client v6i server va giua cac server v6i nhau. Cac khai ni~m vS client va server se duqc dS c~p dSn ngay 6 I. M6i ca nhan tham gia hQitho~i co thS noi chuy~n rieng v6i tung nguai hay n6i chuy~n v6i mQt nh6m nguai C\l thS trong mQt moi truang cong cQng (public - ai cling c6 thS tham gia) hay rieng tu (private - chi nhung nguai trong nhom m6i duqc tham gia) IRC la mQt khia c~nh quan tf(~ng trong vi~c t~o nen Internet - mQt cUQccach m~ng trong vi€n thong. Thay vi sir d\lng lai n6i, nguai dung go mQt dong chu vao va giri di thi tfrc tha~ nguai b~n (hay nhung nguai cUng dam tho~i) se nh~n duqc thong di~p ngay.
IRC di'ithu hut nhiSu nguai vi tinh ti~n lqi va kha nang cua no. Giao thuc IRC dua ra nhung cach thfrc chung th6ng nhfit dS h6 trq giri nh~n thong di~p tu nhiSu kSt n6i cung luc tren m~ng, d6ng thai giao thfrc cling h6 trq quan ly h~ th6ng mQt cach hi~u qua sao cho co thS dap frng duqc cung luc nhiSu kSt n6i rna v~n khong gay qua tai d~ dSn suy hao, tri tr~ hay lam S\lP d6 h~ th6ng. Chuang 1: Gi6'i thi~u chung Trang 11 1.2 Ljch SUo cua giao thtfc Internet Relay Chat: Tru6'c day, rnQt h~ th6ng v6'i nhfrng khai ni~rn tuang tv IRC da dugc su d\illg trong quan dQi a My, tuy nhien h~ th6ng nay khong ph6 biSn cho OOiSu nguai. DSn narn 1988, Jarkko Oikarinen thuQc D?i hQc Oulu (rnQt thanh ph6 006 yen bi~n Tay B~c Phfin Lan) da phat tri~n rnQt chuang triOO chiOO la tiSn thfm cua giao thuc IRC hi~n nay.
Jarkko Oikarinen da rna rQng OOung tiOO nang cua chuang trinh talk - v6n la rnQt chuang triOO tro chuy~n trgc tuySn. tuy OOien talk chi cho phep nguai dung noi chuy~n tung doi mQt (wang tv di~n tho?i) nen vfin chua rnang bim chfit thong tin da chiSu OOu hi~n nay. Dr OOien giao thuc IRC nguyen thuy khong phuc t?P OOu cac phien bim hi~n t?i. Giao thuc IRC da phat tri~n qua rnQt thai gian tuang d6i dai va qua nhiSu giai dO?ll.
Ngay nay h~ th6ng IRC la rnQt trong OOung h~ th6ng phuc t?P oofit tren Internet. Server IRC dfiu tien la rnQt chiSc may tiOO cua Oikarinen, gQi la oulubox hi~n nay vfin con dugc su d\mg d~ ph\lc V\l cho cac OOucfiu C\lCbQ. Chi sau mQt thai gian ng~n, IRC drt ph6 biSn kh~p Phfin Lan, Gothemburg, Th\lY Di~n va t?o nen mQt lien rn?ng qu6c tS dfiu tien. Tuy OOien, h~ th6ng lilc do vfin chua 6n diOO.
Thai gian nay, Internet vfin con qua rn6'i me d6i v6'i rfit OOiSu nguai va nhiSu cong ngh~ kSt n6i lien m?ng OOu ngay nay vfin chua xufit hi~n. Do do, vi~c thl!c hi~n cac kSt n6i bang qua d?i duang, qua cac chau l\lc rfit kho khan do ph\l thuQc rfit nhiSu vao gi6'i h?n cua m?ng di~n tho?i cling OOu gia ca cua no. Th~m chi ngay ca cac hQc vi~n giao d\lc 16'n a My va B~c Au cling chua tham gia vao h~ th6ng nay. Chuang 1: Gi6i thi~u chung Trang 12 Dfin dfin, cung v6i SlJ phat triSn cua Internet, IRC da treiirQng ph~rn vi ho~t dQng tren khofmg 120 qu6c gia va lanh th6, s6 ngmJi dung IRC da b~t dfiu nhieu den rnuc hang tri~u vao thai diSrn nay.
Dfiu narn 1991, IRC da ph6 bien kh~p the gi6i nhung hfiu het nguai dung chi hiSu no du6i danh nghia Internet. Th~rn chi ngay nay, cling van con nhUng nguai dung Internet khfmg biet ve SlJ t6n t~i va ho~t dQng cua h~ th6ng IRC. D6i v6i hQ,chat cling la rnQthinh thuc "len rn~ng". Narn 1992, s6 hQc vi~n giao d\lc tham gia ket n6i rn~ng da tang vQt, cac sinh vien troy c~p cling tang va do do s6 nguai dUng tren IRC da tang den muc bfit nga.
NQi dung cua thong tin va rn\lc dich trao d6i cling phong phil len. Va lilc nay nhung nguai dung IRC da nghi t6i chuy~n chia cac server trong rn~ng IRC ban dfiu thanh nhieu h~ th6ng nh6 han dS ti~n qm\n ly va giam tai. Hi~n nay chi con rnQt vai h~ th6ng duQ'cduy tri nhung chUng da phuc t~p han nhieu do co SlJ h6. trQ'cua ki thu~t hi~n d~i.