Bài 5: Lập trình mạng trên .Net Compact Framework

Chia sẻ: Nguyen Duc Bau | Ngày: | Loại File: PPT | Số trang:23

0
164
lượt xem
74
download

Bài 5: Lập trình mạng trên .Net Compact Framework

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nội dung trình bày: Sử dụng Socket; Sử dụng kết nối UDP; Sử dụng HttpWebRequest; Sử dụng kết nối hồng ngoại

Chủ đề:
Lưu

Nội dung Text: Bài 5: Lập trình mạng trên .Net Compact Framework

  1. Đại học Khoa học Tự nhiên, ĐHQG-HCM Khoa Công Nghệ Thông Tin Bài 5: Lập trình mạng trên .Net Compact Framework ThS. Trần Minh Triết 1
  2. Tham khảo Microsoft® .NET Compact Framework Kick Start, Erik Rubin, Ronnie Yates(2003), Sams Publishing Chapter 5. Network Connectivity with the .NET Compact Framework 2
  3. Nội dung Sử dụng Socket Sử dụng kết nối UDP Sử dụng HttpWebRequest Sử dụng kết nối hồng ngoại 3
  4. Một số nhận xét ban đầu Các port có giá trị dưới 1024 thường được HĐH dành riêng cho các dịch vụ chuẩn Nên chọn port có giá trị từ 2000 đến 60000 Chọn lựa giữa TCP/IP và UDP TCP: đảm bảo “error-free delivery”, chậm hơn UDP UDP: không đảm bảo “error-free delivery”, nhanh hơn TCP 4
  5. Tạo kết nối tại C lent i Sử dụng địa chỉ IP EndPoi  _EndPoi   new  PEndPoi ntl nt=  I nt (PA ddr I ess. se("172. 25. Par   68. 34“)  onver . nt 9981) ; ,C tToI 16( )  Sử dụng tên của server (dùng DNS) I ost r l PH ost r =D ns. esol "w w w . ycom put . ")   PH Ent y _I Ent y  R ve( m er net ; EndPoi  _EndPoi   new   ntl nt=  I PEndpoi (_I ost r A ddr nt l PH Ent y. essLi [ ,9981)   st 0]  ; 5
  6. Tạo kết nối tại C lent i ty r {   Socketl     _Socket=   new   Socket Socket A ddr ( ( essFam iy.nt N et or l I er w k,     Socket Type. r St eam ,Pr ocol   ot Type. Tcp);   l   _SocketC onnect l . (_EndPoi )nt ;   i l   f(_SocketC onnect . ed) {     /l    / _Socketi now   eady o   s  r t send  and  ecei dat r ve  a   }    } cat ( ch Socket Excepton  i e) { /   som et ng   * do  hi abouti  /}  t*   6
  7. Nhận yêu cầu kết nối tại H ost m _lst i enSocket=    new   Socket A ddr ( essFam iy.nt N et or l I er w k,     Socket      Type. r St eam ,Pr ocol   ot Type.Tcp); m _lst i enSocketB i new  PEndPoi (PA ddr . nd( I nt I ess. ny,8758) ; A   ) m _lst i enSocketLi en( i ) . st (nt Socket ptonN am e. axC onnectons) O i M i ; m _connectedSocket=  _lst   m i enSocketA ccept ) . (; i m _connect f( edSocket! nul)  =  l {   i m _connect   f( edSocketC onnect . ed)   {        /Som eone     /  has  connect t us. ed o    }     } 7
  8. Truyền tin bằng Socket Truyền dữ liệu: SocketSend  . Send B yt ]buf er   ( e[   f ) Send B yt ]buf er   ( e[   f ,Socket ags  Fl socket ags) Fl   Send B yt ]buf er  nt si   ( e[   f ,I 32  ze,Socket ags  Fl socket ags) Fl   Send B yt ]buf er  nt of set  ( e[   f ,I 32  f ,   nt si    I 32  ze,Socket ags  Fl socket ags) Fl   Ví dụ: l _SocketSend l . (_buf er     f ,16,Socket ags. one)   Fl N ; Truyền tối đa 16 byte dữ liệu trong l _buf er f l _SocketSend l . (_buf er       f ,2,6,Socket ags. one)   Fl N ; Truyền tối đa 6 byte dữ liệu trong l _buf er từ byte thứ 3 f 8
  9. Truyền tin bằng Socket l _SocketSend( . Encodi A SC I. et yt "Send  e")) ng. IG B es( m  ; l _SocketSend( . Encodi U ni ng. code. et yt "Send  e")) G B es( m  ; l _SocketSend( . Encodi A SC I. et yt C onver . ng. IG B es( tToSt i 2003)  ; r ng( )) l _SocketSend( . Encodi A SC I. et yt C onver . ng. IG B es( tToSt i 2. )) r ng( 71)  ; 9
  10. Nhận tin bằng Socket Nhận dữ liệu: SocketR ecei . ve R ecei ( yt ]buf er   ve B e[   f ) R ecei ( yt ]buf er   ve B e[   f ,Socket ags  Fl socket ags) Fl   R ecei ( yt ]buf er  nt si   ve B e[   f ,I 32  ze,Socket ags  Fl socket ags) Fl   R ecei ( yt ]buf er  nt of set  ve B e[   f ,I 32  f ,    I 32  ze,Socket ags     nt si   Fl socket ags) Fl   Ví dụ: l _SocketR ecei (_buf er     . ve l f ,16,Socket ags. one)   Fl N ; Nhận tối đa 16 byte dữ liệu vào l _buf er f l _SocketR ecei (_buf er       . ve l f ,2,6,Socket ags. one)   Fl N ; Nhận tối đa 6 byte dữ liệu ghi vào l _buf er từ byte thứ 3 f 10
  11. Nhận tin bằng Socket st i l SC I  Encodi A SC I. et r ng(_B uf er ; r ng _A I=  ng. IG St i l f )  st i l SC I  Encodi A SC I. et r ng(_B uf er ; r ng _A I=  ng. IG St i l f )  i    _I eger =  nt  l nt   C onver . nt Encodi A SC I. et r ng(_B uf er )   tToI 32( ng. IG St i l f ); D oubl l oubl =  e _D e  C onver . tToD oubl Encodi A SC I. et r ng(_D oubl )   e( ng. IG St i l e) ;  11
  12. Sử dụng kết nối U D P U D P và TC P U D P: connectionless protocol TC P: connection-oriented protocol Sử dụng class U dpC lent i voi C onnect St i host d  ( r ng  nam e,I 32  t ;  nt por ) voi Send( yt ]dgr ,I 32  es) d  B e[   am  nt byt ; voi R ecei r  PEndPoi   em ot d  ve( efI ntr eEP)   ; Ví dụ: l dpC lentC onnect I ddr _U i . (PA ess. se( Par "172. 25. 68. 34")  ,9981)   ; Send( uf er   uf er Lengt   w w . ycom put . ",9981) aB f ,aB f . h,"w m er net   ; 12
  13. Sử dụng U dpC lent i IPEndPoi   sender P  new nt I =      I     PEndPoi (PA ddr nt I ess. se( Par "192. 168. 200") 0. ,     C onver . nt 8758) ;      tToI 32( ) U dpC lent i   l dpC lent=  _U i   new   dpC lent ) U i (; l dpC lentC onnect sender P) _U i . ( I ; f  i    0;i
  14. Sử dụng U dpC lent i I PEndPoi  lst nt i ener P  new  PEndPoi (PA ddr I =  I nt I ess. ny,8758) A   ; U dpC lent lst i   i ener =    new   dpC lent lst U i (i ener P) I ; f  i    0;i
  15. Sử dụng U dpC lent i   U dpC lentudpC lent=  i   i   new   dpC lent 5000,A ddr U i (   essFam iy.nt N et or l I er w k udpC lentB egi ecei new   syncC alback( ecei i . nR ve( A l R veC alback)  l , udpC lent ; i ) 15
  16. Sử dụng U dpC lent i publc  atc  d  ecei i st i voi R veC alback(A syncR esul  ) l I tar   {    dpC lentu  ( dpC lent ar A syncSt e;  U i   = U i ) . at   PEndPoi   =   I nte  new  PEndPoi (PA ddr I nt I ess. r B oadcast  ; ,0)    yt ]r  B e[   ecei veB yt =  EndR ecei u,r   ; es  u. ve(   efe)    r ng  ecei  st i r veSt i =  r ng  Encodi A SC I. et r ng( ecei ng. IG St i r veB yt ; es)    onsol W r t ne( ecei  C e. ieLi "R ved:{ ",r   0}   ecei veSt i ; r ng)    B egi ecei new   syncC alback( ecei  u. nR ve( A l R veC alback)  ; l ,u) } 16
  17. Sử dụng U dpC lent i I ddr PA ess  r G oupA ddress  I ddr = PA ess. r B oadcast ; i   r ntG oupPor   5000; t=  U dpC lentsender =  i     new   dpC lent ) U i (; I PEndPoi   oupEP  new  PEndPoi ( r ntgr =  I nt G oupA ddr ess,G r   oupPor ) t; byt ]byt =  e[   es  Encodi A SC I. et yt "B r ng. IG B es( oadcastM essage")   ; sender Send( es,byt Lengt   oupEP) . byt   es. h,gr ; sender C l . ose( ; ) 17
  18. Sử dụng H t pW ebR equest t   U r   _U r   new   r ( t /w w w . yser . i l i=  U i"ht p:/ m ver com "); H t pW ebR equest t   l ebR eq  _W =  ( t pW ebR equest W ebR equestC r e(_U r ) H t ) . eat l i; H t pW ebR esponse  t l ebR esponse  _W =     ( t pW ebR esponse)_W ebR eq. et esponse( ;     H t l G R ) St eam  _r r l esponseSt eam   l ebR esponse. et esponseSt eam ( ; r = _W G R r ) St eam R eader l r  _SR eader =    new   r St eam R eader l esponseSt eam ) (_r r ; /  o  /D som et ng  ih _SR eader     hi w t l .For exam pl  fyou  e,i  dow nl oaded  a /  eb  /W page,you    coul d /  r  he  TM L  /ext actt H code hatcam e n he  esponse  t   i t r and  nti  pai  ton / he  een. /t scr 18
  19. Kết nối bằng I D A tại C lent r i m _I D A C lent=  r i   new  r A C lent ) ID i (; bool l oundA nyD evi = al   _f ce  f se; i   nt M A X_D EVI ES  5; C =  /  nd    ho' outt e o  /Fi outw s   her t connectw ih..   t . I D A D evi nf ] r ceI o[   l evsA vaiabl = _D l e      m _I D A C lentD i      r i . scover evi D ces( A X_D EVI ES) M C ; /  /Show   M essageB ox eli user ever devi w e  a  t lng    y  ce  see   her outt e f each I D A D evi nf   _devI o  i   l evsA vaiabl or (r ceI o  l nf   n   _D l e) {  l oundA nyD evi = r   _f ce  t ue;   M essageB ox.    Show (_devI o. evi l nf D ceN am e,   "D i scover I D A   ed r devi ce");   /  ow  r t connectt t devi   /N t y o   o he  ces,hopi i  f s  ser ce   ng tof er a  vi   /    /nam ed  R D A _C H A T_SER VER " "I 19
  20. Kết nối bằng I D A tại C lent r i ty r     {     /A ssum e hatfr      /  t  i stdevi i of er ng  ser ce hatw e ce s  f i a  vi t       /w ant    /      r A EndPoi      I D ntchatEndPoi   new  r A EndPoi ( nt=  ID nt    l evsA vaiabl 0]D evi D ,"I D A _C H A T_SER VER ")    _D l e[ . ceI   R ;      _I D A C lentC onnect chat    m r i . ( EndPoi ) nt ;      essageB ox.    M Show ( onnect t chatser !   eady o  "C ed o    ver ","R t chat ; ")      _C onnect = r    m ed  t ue;      eak;    br   }      cat (    ch Socket Excepton  i exc) {         } } /  _I daC lentcan  /m r i   now   r be  ead r     r t en o. f om or w it t 20
Đồng bộ tài khoản