Home » Lập trình » [Java Network Programing] :Xây dựng server và client trên giao thức UDP

[Java Network Programing] :Xây dựng server và client trên giao thức UDP

Giới thiệu:

Trong bài hướng dẫn này, mình sẽ hướng dẫn bạn viết ứng dụng về mạng bằng Java. Do đây là dạng ứng dụng mạng, sẽ dễ hiểu hơn nếu bạn đã có kiến thức căn bản mạng máy tính.

Đầu tiên, mình xin giải thích Network Programing là gì. Network Programing tạm dịch là lập trình mạng, trong đó công việc chủ yếu là viết chương trình chạy ở server và một chương trình khác chạy ở client, từ đó mà client và server có thể giao tiếp được với nhau.

Trong bài hướng dẫn này, chúng ta sẽ việc chương trình có chức năng sau:

  • Client gửi một chuỗi  được nhập từ bàn phím đến server.
  • Server chuyển chuỗi đó thành chữ in hoa, sau đó gửi lại client.
  • Giao thức của lớp truyền tải (tranpost layer) là UDP.

Để hiểu rõ về giao thức lớp truyền tải (bao gồm :UDP, TCP, ….) là gì, bạn có thể tham khảo mô hình OSI.

Sơ đồ thuật toán:

Sơ đồ thuật toán sẽ áp dụng trong chương trình như sau:

lap-trinh-mang-voi-java-UDP-server-client-

 

Chương trình server:

Đầu tiên, ta tạo một class có tên là UDPServer.java đóng vai trò là server.

Lưu ý: port của server là một số nguyên lớn hơn 1023. (port > 1023) bởi vì các port từ 0 đến 1023 là các port đã được định nghĩa trước. Ví dụ: port 80 cho HTTP, port 53 cho DNS,….

Chương trình server sẽ có một vòng lặp vô tận bởi bản chất của server luôn phải chạy liên tiếp để chờ kết nối từ các client khác.

Chương trình client:

Ta tạo một class có tên là UDPClient.java đóng vai trò là client.

Lưu ý: tương tự như server, port của client cũng là một số nguyên lớn hơn 1023.

Cách chạy chương trình:

Đầu tiên ta chạy chương trình server trước: trong Netbean, bạn nhấp chuột phải vào file UDPServer.java chọn Run File.

Tiếp theo, ta chạy chương trình Client bằng cách chạy file UDPClient.java tương tự như trên.

Lưu ý: sau khi test xong, nếu muốn test lại thì nhớ tắt chương trình server trước, vì nó vẫn còn chạy (do vòng lặp vô tận 🙂 )

Share
  • Maybe

    Cái chương trình Client copy sai rồi addmin ơi

    • Vani

      Cảm ơn bạn, mình đã sửa lại rồi nhé.

Share
Free WordPress Themes - Download High-quality Templates