Lập trình UDP với Java

Embed Size (px)

DESCRIPTION

Lập trình UDP với Java

Citation preview

  • Danh sch thnh vinTrn c HuyPhan L Minh ThyTrn Nguyn Bo TrnMai Th Kim YnV Th Thu H

  • Ni dung trnh byChy th chng trnhXy dng ClientXy dng ServerGii thiu chung

  • Yu cu bi tpXy dng chng trnh theo m hnh Client-ServerS dng giao thc UDPServer nhn thng tin dng: Tr v kt qu ca php tnh tng ngClient nhp vo biu thc c th (vd:1+2)T chuyn i thnh thng ip ng dng Server quy nh

  • Gii thiu UDPVit tt ca User Datagram ProtocolKt ni khng bo m v khng ni ktNhanh gp 3 ln TCPS dng 2 lp java.net.DatagramSocket v java.net.DatagramPacketD liu c th b mt m c 2 pha server v client khng h bit

  • Xy dng ServerServer c nhim v:Khi to socketLin tc ch cc gi tin gi nKhi c gi tin, phn tch gi tin v x l tnh ton kt qu nu gi tin hp lTo thng bo li nu gi tin khng hp lGi gi tin kt qu v li cho Client

  • Xy dng Server

  • Xy dng Server

  • Xy dng ServerGi d liu v li cho ClientDatagramPacket outs = new DatagramPacket(kq.getBytes(), kq.getBytes().length, incoming.getAddress(), incoming.getPort());ds.send(outs);

  • Xy dng Server

  • Xy dng ClientClient c nhim v:Kt ni ti ServerHin thng bo yu cu ngi dng nhp vo mt biu thcPhn tch, x l biu thc thnh gi tin ph hp vi cu trc Server quy nhGi gi tin i v ch nhn kt qu tr vHin th kt qu tr v ln mn hnh

  • Xy dng Client

  • Xy dng ClientPhn tch v chuyn biu thc thnh thng ip theo cu trc ca Server:String[] pr = st.split(" ");String fin = "";for (int i = 0; i < pr.length; i++){ fin += pr[i].trim();}String sendData = ""; boolean ok = false;if (fin.contains("+")){String[] pti = fin.split("\\+");sendData = "+ " + pti[0] + " " + pti[1];ok = true;}

  • Xy dng ClientGi d liu ln Server nu hp l:if (ok){byte[] data = sendData.getBytes();DatagramPacket dp = new DatagramPacket(data, data.length, server, serverPort);ds.send(dp);byte[] buffer = new byte[6000];DatagramPacket incoming = new DatagramPacket(buffer, buffer.length);ds.receive(incoming);System.out.println("Ket qua nhan duoc: " + new String(incoming.getData(), 0, incoming.getLength()));}

  • Xy dng Client

  • LOGO

    Company Logo