Lập trình java - Bài 24: Networking

Lập trình java - Bài 24: Networking

 Networking trong lập trình java

Nội dung bài học

Download tài nguyên mạng
Gửi email thông qua gmail

Tài nguyên mạng

Tài nguyên trên mạng (trang web, hình ảnh, video…) có

thể truy cập thông qua địa chỉ URL

Tài nguyên mạng trong lập trình java

Lớp URL

Java cung cấp lớp java.net.URL để có thể gửi/nhận dữ liệu với các URL đó.

Lớp url trong lập trình java

URL - API

URL - API trong lập trình java

Thông tin URL

Code thông tin url trong lập trình java

Download từ Internet

ByteArrayOutputStream buffer = new ByteArrayOutputStream();
//Chứa dữ liệu download
URL url = new URL("http://www.vnexpress.net");
InputStream is = url.openStream(); // Mở luồng dữ liệu đến tài nguyên
byte[] block = new byte[4*1024]; // 4KB 
while(true){
int n = is.read(block);                   // Chỉ nên đọc 1 lần tối đa 4KB
if(n <= 0){
 break;                                          //Dừng khi đã hết dữ liệu

}                                        
buffer.write(block, 0, n);          //Tích lũy dữ liệu đọc được
}
is.close();
byte[] data = buffer.toByteArray();  //Lấy nội dung trang web
buffer.close();

ĐỀ MÔ

Đề mô download từ internet trong lập lập trình java

Xử lý nút [Tải]

ByteArrayOutputStream buffer = new ByteArrayOutputStream();
URL url = new URL(txtUrl.getText()); 
InputStream is = url.openStream(); 
byte[] block = new byte[4*1024]; // 4KB while(true){
int n = is.read(block); if(n <= 0){
break;
}
buffer.write(block, 0, n);
}
is.close(); 
txtNoiDung.setText(buffer.toString("utf-8"));
 buffer.close();

Xử lý nút [Xử lý nút lưu file]

if(jFileChooser1.showSaveDialog(this) == JFileChooser.APPROVE_OPTION){ 
File file = jFileChooser1.getSelectedFile();
FileOutputStream fos = new FileOutputStream(file);
URL url = new URL(txtUrl.getText()); 
InputStream is = url.openStream(); 
byte[] block = new byte[4*1024]; // 4KB 
while(true){
int n = is.read(block);
 if(n <= 0){
break;
}
fos.write(block, 0, n);
}
is.close();
fos.close();
}

Gửi email

  Gửi email là hoạt động thường xuyên xảy ra của 1 ứng dụng. Có thể người dùng gửi cho 1 ai đó, hoặc có thể là thông báo của hệ thống
Để gửi email trong Java bạn cần 2 thư viện
Mail.jar
Activation.jar
Gửi email trong lập trình java

Mail API

       Các phương thức được sử dụng của MimeMessage trong việc gửi email.
Mail API trong lập trình java

Giải thuật gửi gmail 

Giải thuật gửi email trong lập trình java


Code gửi gmail

Code gửi gmail trong lập trình java

Code gửi email qua gmail trong lập trình java

Code gửi email qua gmail trong lập trình java

Gửi email có CC và BCC

        Để gửi mail cho nhiều người cùng nhận bạn chỉ cần bổ sung
các email ấy vào CC hoặc BCC.
Sự khác biệt giữa CC và BCC là CC là những email sẽ được người nhận nhìn thấy trên mail còn BCC thì không.
Mã bổ sung email cùng nhận:
Code gửi email có cc và bcc trong lập trình java

Gửi mail có đính kèm file

Gửi mail có đính kèm file trong lập trình java

Queu mail

        Chi phí (CPU và bộ nhớ) dành cho gửi mail là rất cao. Đôi khi hệ thống phải thực hiện gửi nhiều email một lúc dẫn đến tài nguyên cạn kiệt dễ gây tê liệt hệ thống.
Giải pháp khắc phục là tại queue nắm giữ các mail và có 1 thread chuyển trách gửi tuần tự từng email.
Queu mail trong lập trình java

MailSender Thread

MailSender Thread trong lập trình java


MailSender Thread trong lập trình java
Sử dụng MailSender Thread trong lập trình java

Thay vì gọi Transport.send(mail) để gửi email thì sử dụng MailSender.queue(mail) để bổ sung email vào queue và sẽ được gửi bởi 1 Thread khác
XIN CẢM ƠN!




ĐĂNG NHẬN XÉT

Previous Post Next Post