Java Huong Dan Lap Trinh Socket UDP-libre

download Java Huong Dan Lap Trinh Socket UDP-libre

of 6

Transcript of Java Huong Dan Lap Trinh Socket UDP-libre

  • 8/12/2019 Java Huong Dan Lap Trinh Socket UDP-libre

    1/6

    Lp trnh UDP Socket

    BM MMT - Khoa CNTT H KHTN Page 1

    LP TRNH NG DNG UDP SOCKET TRN JAVA

    Mc tiu:

    Sau bi thc hnh ny, sinh vin c th:

    - Hiu c m hnh hot ng chung ca ng dng mng trn giao thc UDP.- Lp trnh ng dng mng vi UDP socket trn ngn ngJava.

    Ni dung chnh:

    -

    M hnh hot ng giao thc UDP- Mt shm c bn ca lp DatagramSocket.- Minh ha ng dng mng n gin sdng DatagramSocket.

  • 8/12/2019 Java Huong Dan Lap Trinh Socket UDP-libre

    2/6

    Lp trnh UDP Socket

    BM MMT - Khoa CNTT H KHTN Page 2

    1.

    M hnh hot ng giao thc UDP (User Datagram Protocol)

    - Khi xy dng mt ng dng mng, ta cn thc hin cc bc sau:

    o Xc nh kin trc mng: Client-Server hay Peer-to-Peer.

    o

    Giao thc c sdng tn Transport: TCP, UDP.o Cc port sdng Client v Server.

    o Giao thc tn ng dng khi trao i dliu.

    o Lp trnh.

    - Cc phn di y strnh by cc bc c bn xy dng mt ng dng mng

    theo kin trc Client-Server sdng giao thc UDP.

    - C hai giao thc chnh c dng truyn ti d liu trong TCP/IP l TCP v

    UDP.

    - Vi ng dng mng c thit ktheo m hnh ca giao thc UDP thun ty, bn

    gi khng c c chm bo tn tin cy ca dliu c truyn ti, ngha

    l dliu c truyn c thbmt, sai ni dung hoc thtni dung nhn c

    so vi ni dung cn gi sbo ln.

    - Tuy nhin, UDP c dng trong cc ng dng yu cu thi gian thc nh truyn

    ti Video, Audio, v khnng truyn ti nhanh ca n.

    -

    S tng tc gia Client v Server theo giao thc UDP nh m hnh sau:

  • 8/12/2019 Java Huong Dan Lap Trinh Socket UDP-libre

    3/6

    Lp trnh UDP Socket

    BM MMT - Khoa CNTT H KHTN Page 3

    ClientClient Server

    Create

    Socket

    Create

    Socket

    Bind

    CloseClose

    Send to

    Receive

    fromSend to

    Receive

    from

    To socket lng ngheTo socket giao tip

    Kt buc vo a ch IPv port

    Gi d liu n client

    tham s cn truyn vol a ch IP v port mclient ang s dng

    Gi d liu n servertham s cn truyn vol a ch IP v port mserver ang lng nghe

    Nhn d liu t Client

    Nhn d liu t Server

    ng kt ni

    2. Lp trnh UDP socket trn Java vi lp DatagramSocket:

    -

    DatagramSocket l lp h tr lp trnh ng dng UDP socket trn Java, phnny sgii thiu mt sphng thc c bn c thxy dng c mt ng

    dng UDP socket.

    a.

    To DatagramSocket:

    Public DatagramSocket()

    Throws SocketException

    o Khi to UDP socket v kt buc n vo mt trong nhng port cn trngca hthng.

    Public DatagramSocket( int port)

    Throws SocketException

    o Khi to UDP socket v kt buc n vo mt port cthc chra.

  • 8/12/2019 Java Huong Dan Lap Trinh Socket UDP-libre

    4/6

    Lp trnh UDP Socket

    BM MMT - Khoa CNTT H KHTN Page 4

    b.

    Kt buc a chcho DatagramSocket

    Public void bind ( SocketAddress addr)

    Throws SocketException

    o

    Kt buc DatagramSocket vo mt a chcth(IP v port)

    c.

    Gi v nhn dliu vi DatagramSocket

    DatagramSocket sdng lp DatagramPacket gi v nhn cc gi tin.

    - Nhn dliu:

    Public DatagramPacket ( byte []buf, int length)

    o Khi to 1 DatagramPacket dng nhn 1 packet c di l length,

    lengthphi nhhn hoc bng buf.length

    o Buf: vng nhm dng lu dliu sp nhn.

    o Length: slng byte sc c.

    Public void Receive (DatagramPacket p)

    Throws IOException

    o

    Thc hin nhn vpacket tDatagramSocket, khi hm ny c gi thnhcng, buffer ca DatagramPacket schni dung dliu nhn c. ng

    thi DatagramPacket cn cha thng tin va chIP v port ca bn gi.

    o Phng thc ny khi gi sbBLOCKcho n khi c 1 DatagramPacket

    c nhn.

    - Gi dliu:

    Public DatagramPacket (byte []buf, int length, SocketAddress address)

    Throws SocketException

    o Khi to 1 DatagramPacket gi 1 packet c di l lengthn cng c

    shiu port trn host cthc chra trong address.

  • 8/12/2019 Java Huong Dan Lap Trinh Socket UDP-libre

    5/6

    Lp trnh UDP Socket

    BM MMT - Khoa CNTT H KHTN Page 5

    Public void send ( DatagramPacket p)Throws IOException

    o Gi DatagramPacket n host nhn. DatagramPacket chd liu cn gi,

    di dliu, a chIP v shiu port ca host snhn.

    - Mt sphng thc htrkhc ca lp DatagramPacket:

    Public InetAddress getAddress()

    o Trva chIP ca host gi packet hoc host snhn packet.

    Public int getPort()

    o

    Trvgi trport ca host gi packet hoc host m packet sc gin.

    Public byte[] getData()

    o Trvni dung dliu trong DatagramPacket

    Public int getLength()

    o

    Trvdi ca dliu trong DatagramPacket

    d.

    ng DatagramSocket :

    Public void Close()

    3. Minh ha ng dng mng n gin sdng DatagramSocket

    a.

    bi:

    Vit mt ng dng mng trn giao thc UDP h tr chat tun t gia Client

    Server theo thtClient Server Client Server Client Server bng

    Console. Qu trnh chat skt thc khi mt trong hai bn g Exit.

    o

    Xc nh kin trc mng: CLIENTSERVER

    o Giao thc sdng tn transport: UDP

  • 8/12/2019 Java Huong Dan Lap Trinh Socket UDP-libre

    6/6

    Lp trnh UDP Socket

    BM MMT - Khoa CNTT H KHTN Page 6

    o Port lng nghe pha server 1234

    o Giao thc tng ng dng khi trao i dliu gia client-server

    b.

    Chng trnh(tham kho source code km theo)

    Ti liu tham kho:

    http://docs.oracle.com/javase/1.4.2/docs/api/java/net/DatagramSocket.html

    http://docs.oracle.com/javase/1.4.2/docs/api/java/net/DatagramPacket.html

    http://docs.oracle.com/javase/1.4.2/docs/api/java/net/DatagramSocket.htmlhttp://docs.oracle.com/javase/1.4.2/docs/api/java/net/DatagramSocket.htmlhttp://docs.oracle.com/javase/1.4.2/docs/api/java/net/DatagramPacket.htmlhttp://docs.oracle.com/javase/1.4.2/docs/api/java/net/DatagramPacket.htmlhttp://docs.oracle.com/javase/1.4.2/docs/api/java/net/DatagramPacket.htmlhttp://docs.oracle.com/javase/1.4.2/docs/api/java/net/DatagramSocket.html