Sakura
Thú CƯng :
Số bài viết : 1124 Điểm : 1688 Được cảm ơn : 35 Ngày sinh : 03/11/1990 Tham gia ngày : 16/03/2010 Tuổi : 34 Đến từ : Bình Dương Ngề nghiệp : IT Student
| Tiêu đề: UPD - Gửi nhận đoạn text - Hoàn chỉnh 25/5/2011, 20:38 | |
| Đây là bài hoàn chỉnh nè bà con! Rất ngắn gọn và dễ hiểu. Class Server: - Code:
-
/* * Project: Gui nhan doan text bang giao thuc UDP - Phia Server * Author: Edward_Thien * Class: 11TH02 */
import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress;
public class Server { public static void main(String args[]) throws Exception { // server khoi dong int port = 1234; // port ma server lang nghe DatagramSocket sck = new DatagramSocket(port); while(true) { // buffer luu tru data byte buf[] = new byte[1024]; //chuan bi goi tin rong DatagramPacket packet = new DatagramPacket(buf,buf.length); // nhan ve goi tin rong sck.receive(packet); // xu ly du lieu String receive = new String(packet.getData()).trim(); String result = "Da nhan duoc: "+receive; System.out.println(result); // luu tru ket qua vao buffer buf = new byte[1024]; buf = result.getBytes(); // lay dia chi cua client InetAddress addr = packet.getAddress(); int clientPort = packet.getPort(); // dong goi du lieu trong buffer vao 1 packet packet = new DatagramPacket(buf,buf.length,addr,clientPort); // tra du lieu ve client sck.send(packet); } } } Client: - Code:
-
/* * Project: Gui nhan doan text bang giao thuc UDP - Phia Client * Author: Edward_Thien * Class: 11TH02 */
import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.io.DataInputStream;
public class Client { public static void main(String args[]) throws Exception { // client khoi dong DatagramSocket sck = new DatagramSocket(); while(true) { // buffer luu tru data byte buf[] = new byte[1024]; // du lieu gui len DataInputStream dis = new DataInputStream(System.in); System.out.print("Gui len thong diep: "); String str = dis.readLine() ; // du lieu vao qua tham so dong lenh // tin hieu ket thuc if(str==null || str.equals("") || str.equals("exit") || str.equals("bye")) break; System.out.println("Client gui len : "+str); buf=str.getBytes(); // lay thong tin server String host = "127.0.0.1"; int port = 1234; // port ma server lang nghe InetAddress addr = InetAddress.getByName(host); //chuan bi goi tin rong DatagramPacket packet = new DatagramPacket(buf,buf.length,addr,port); // gui goi tin len server sck.send(packet); // chuan bi goi tin rong de nhan thong tin tu server buf = new byte[1024]; // phai tao moi lai buffer de nhan ve tiep tuc packet = new DatagramPacket(buf,buf.length); // nhan thong tin tu server sck.receive(packet); String receive = new String(packet.getData()).trim(); // xu ly thong tin tra ve System.out.println("Server tra ve: "+receive); } // giai phong tai nguyen sck.close(); } } |
|