Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành Android - Pdf 23

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
────── * ──────
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
NGÀNH CÔNG NGHỆ THÔNG TIN
TÊN ĐỀ TÀI
XÂY DỰNG ỨNG DỤNG ĐA PHƯƠNG
TIỆN CHO MOBILE SỬ DỤNG HỆ ĐIỀU
HÀNH ANDROID (MODULE CLIENT)
Sinh viên thực hiện : Phan Thanh Tuấn
Lớp CNPM – K51
Giáo viên hướng dẫn: Ths. Lương Mạnh Bá
HÀ NỘI 6 - 2011
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1. Thông tin về sinh viên
Họ và tên sinh viên: Phan Thanh Tuấn
Điện thoại liên lạc 0976240300 Email:
Lớp: CNPM Hệ đào tạo: Đại học chính quy
Đồ án tốt nghiệp được thực hiện tại: Đại học Bách Khoa Hà Nội
Thời gian làm ĐATN: Từ ngày 28/ 2/ 2011 đến 28/ 5/ 2011
2. Mục đích nội dung của ĐATN
• Tìm hiểu các thông tin, cấu trúc hệ điều hành Android
• Tìm hiểu môi trường phát triển ứng dụng cho Mobile dùng hệ điều hành Android
• Tìm hiểu quy trình phát triển ứng dụng cho Mobile dùng hệ điều hành Android
3. Các nhiệm vụ cụ thể của ĐATN
• Tìm kiếm và tổng hợp thông tin
• Cài đặt môi trường phát triển
• Viết chương trình thử nghiệm và tích hợp với các Module để xây dựng hệ thống
4. Lời cam đoan của sinh viên:
Tôi - Phan Thanh Tuấn - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng

- Thiết kế tổng quan.
- Thiết kế chi tiết (phía client).
- Thiết kế giao tiếp người dùng (phía client).
• Chương IV: Cài đặt và triển khai ứng dụng - xây dựng module client và tích hợp
Chương này sẽ trình bày những hướng dẫn cho việc cài đặt và những kết quả trong
việc triển khai ứng dụng, những đánh giá về hệ thống.
 Phần kết luận:
Tổng kết những kết quả trong thời gian làm đồ án tốt nghiệp. Những ưu điểm,
nhược điểm và những định hướng phát triển trong tương lai.
Lời cảm ơn đến các thầy cô giáo, tổ chức đã giúp đỡ trong quá trình làm đồ án và
những cảm nhận của sinh viên khi hoàn thành thời gian làm tốt nghiệp.
 Phần mục lục: tổng hợp những tài liệu tham khảo trong quá trình làm đồ án.
MỤC LỤC
DANH MỤC HÌNH
DANH MỤC TỪ VIẾT TẮT
STT Từ viết tắt Ý nghĩa
1 ĐATN Đồ án tốt nghiệp
2 HĐH Hệ điều hành
3 SDK Software Development Toolkit
4
DVM Dalvik Virtual Machine
5
API Application Programming Interface
6 CMS Content Management System
7 SQL Structured Query Language
8 RDMS Relational Database Management System
9 GOMS Goals – Operator – Method – Selection
10 GPRS General Packet Radio Service
11 VGA Video graphics array
12 PC Personal Computer

Đề tài “Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành
Android” do nhóm em thực hiện trong thời gian làm đồ án. Về cơ bản đề tài được
chia ra thành ba phần với từng nhiệm vụ cụ thể cho từng thành viên trong nhóm. Cụ
thể như sau:
 Phan Thanh Tuấn: xây dựng các module phía client.
 Nguyễn Thế Trung: xây dựng các module phía Server.
 Nguyễn Mạnh Hùng: xây dựng các module CMS và thiết kế cơ sở dữ liệu.
Với nhiệm vụ xây dựng các module phía client, các công việc của em trong
đồ án cụ thể gồm hai công việc chính:
• Tìm hiểu về hệ điều hành cho di động, cụ thể là hệ điều hành Android (cơ sở
lý thuyết, kiến trúc tổng thể, môi trường lập trình )
• Xây dựng các module phía client cho dòng máy chạy hệ điều hành Android.
3. Bố cục đồ án tốt nghiệp
Đồ án của em trình bày bốn phần chính. Cụ thể như sau:
Phần mở đầu: giới thiệu tổng quan về đồ án, các thông tin về nhóm cũng như
môi trường thực hiện đồ án và công nghệ sử dụng.
Phần 2: Đặt vấn đề và định hướng giải pháp, nêu các phương hướng phát
triển cho đồ án, môi trường và công cụ được lựa chọn. Phần này được trình bày cụ
thể trong chương I, II của đồ án.
Phần 3: là các kết quả đạt được trong đồ án bao gồm kết quả phân tích thiết
kế hệ thống, kết quả thực hiện cài đặt và thử nghiệm ứng dụng, đánh giá ưu nhược
điểm và khả năng sử dụng của dịch vụ. Phần này được trình bày cụ thể trong
chương III và chương IV của đồ án.
Phần 4: Phần kết luận bao gồm kết luận đánh giá các công việc đã làm và
chưa làm được và định hướng nhằm hoàn thiện kết quả đạt được của ĐATN.
CHƯƠNG I: ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP
I. Đặt vấn đề
Thị trường di động Việt Nam được đánh giá là một trong những thị trường
thông tin di động có tốc độ phát triển nhanh nhất châu Á, tới 40% - 50% một năm,
Việt Nam đang trở thành một điểm đến hấp dẫn của các tập đoàn viễn thông nước

dữ liệu từ các nguồn khác nhau trên internet. Dữ liệu được đánh chỉ mục và
lưu trữ trong cơ sở dữ liệu của socbay.
• Mobile Interface: hỗ trợ cho việc chuẩn hóa dữ liệu phục vụ cho thiết bị di
đông. Ngoài ra Mobile Interface còn quản lý module giao tiếp cho phép lấy
và trả dữ liệu về cho ứng dụng Java khi nhận được yêu cầu từ ứng dụng.
• Java Application: Ứng dụng phía client với tên gọi Socbay Mobile Search,
tương tác với người sử dụng thông qua các thành phần đồ họa.
Trong khoảng ba tháng làm đồ án ngắn ngủi đồng thời vừa phải tìm hiểu và
xây dựng chương trình việc xây dựng nên một ứng dụng giống như iMedia cho
nhiều hệ điều hành , dòng điện thoại với đầy đủ chức năng là khó thành công do đó
nhóm em đã quyết định xây dựng một chương trình cho dòng máy chạy hệ điều
hành Android mô phỏng lại một số chức năng cơ bản như đọc báo, xem tranh, đọc
truyện
Mô hình hệ thống mà nhóm em xây dựng nhìn chung khá giống với mô hình
của sản phẩm iMedia tuy nhiên cũng có một số khác biệt sau:
• iMedia có một hệ thống Search Engine khá nổi tiếng và tầm cỡ có nhiệm vụ
thu thập thông tin trên Internet. Trong khi đó nhóm em xây dựng một Server
có nhiệm vụ Crawler thông tin về cơ sở dữ liệu, dĩ nhiên là dữ liệu thu thập
về ít hơn và cũng không được phân loại, sàng lọc kĩ như Socbay Search
Engine.
• Sản phẩm iMedia được xây dựng cho các dòng máy có hỗ trợ Java trong khi
đó sản phẩm của nhóm được xây dựng cho dòng máy chạy hệ điều hành
Android.
Hình 3: Mô hình hệ thống
Tuy vậy ứng dụng vẫn có khả năng cung cấp cho người dùng những thông
tin đã được sàng lọc, tổng hợp và chuẩn hóa riêng phù hợp cho thiết bị di động. Sản
phẩm tuy được phát triển trong thời gian ngắn nhưng hy vọng sẽ mang lại tính đột
phá, đa dạng và phù hợp với văn hóa của người Việt. Ứng dụng cung cấp cho người
dùng những chức năng chính sau:
• Chức năng đọc tin tức

trong những năm cuối thế kỉ 20, đầu thế kỉ 21. Nó được coi là công nghệ mang tính
cách mạng và khả thi nhất trong việc tạo ra các ứng dụng có khả năng chạy thống
nhất trên nhiều nền tảng mà chỉ cần biên dịch một lần.
Lần đầu tiên xuất hiện vào năm 1992 như là một ngôn ngữ dùng trong nội bộ tập
đoàn Sun Microsystems để xây dựng ứng dụng điều khiển các bộ xử lý bên trong
máy điện thoại cầm tay, lò vi sóng, các thiết bị điện tử dân dụng khác. Không chỉ là
một ngôn ngữ, Java còn là một nền tảng phát triển và triển khai ứng dụng trong đó
máy ảo Java, bộ thông dịch có vai trò trung tâm.
Không thể không kể đến một số điểm mạnh của ngôn ngữ Java như khả năng
thông dịch, lập trình hướng đối tượng, đa nhiệm, đa luồng, tính khả chuyển và khả
năng hỗ trợ mạnh cho việc phát triển ứng dụng.
Chúng em đã lựa chọn ngôn ngữ Java và môi trường phát triển là Netbeans
trên hệ điều hành Windows. Netbean IDE là một công cụ dành cho lập trình viên để
viết, biên dịch, gỡ lỗi (debug) và triển khai (deploy) chương trình, giao diện thân
thiện, được coi là phổ biến và hiệu quả nhất. Một sản phẩm miễn phí và không có
giới hạn nào trong việc sử dụng nó thì NetBean IDE có lẽ là lựa chon tối ưu nhất để
viết Java.
3. Phần Client
Có nhiệm vụ xây dựng các form giao tiếp với người dùng và giao tiếp với
Server. Phần này em sử dụng lập trình Android trên môi trường Windows.
Trong phần này đặc biệt chú trọng đến việc xây dựng các form giao tiếp và
xây dựng module kết nối. Trong thời gian gần đây Android có những bước tiến rất
nhanh và mạnh mẽ cho dòng điện thoại smartphone. Việc nghiên cứu và tìm hiểu về
lập trình Android cũng khá dễ dàng và có thể nói Android chính là tương lai của hệ
điều hành dành cho thiết bị di động smartphone. Đó cũng chính là lý do mà em đã
lựa chọn Android làm môi trường lập trình cho đồ án này.
Phần xây dựng các module kết nối được xây dựng bằng việc sử dụng giao
thức Socket. Cùng với giao thức HTTP là hai giao thức truyền thống, rất dễ sử
dụng. Song mỗi giao thức có những ưu, nhược điểm riêng. Nhưng trong khuôn khổ
có phần hạn chế của đồ án em xin lựa chọn giao thức Socket để xây dựng các

và bản thân cũng là phần mềm mở nên các nhà phát triển ứng dụng có thể
thoải mái làm mọi thứ trên Android. Các ứng dụng có thể gọi đến bất kì ứng
dụng lõi nào của Android như tạo cuộc gọi, gửi tin nhắn, sử dụng camera
Họ cũng có thể tạo ra một hệ điều hành mới mang bản sắc riêng dựa trên mã
nguồn mở của Android. Tính mở còn giúp Android ngày càng được mở rộng
khi cộng đồng phát triển tiếp tục làm việc cùng nhau để tạo ra các ứng dụng
mới.
• Các ứng dụng tạo ra ngang bằng nhau: Android không phân biệt các ứng
dụng lõi của điện thoại và các ứng dụng của bên thứ ba. Tất cả đều có quyền
truy nhập như nhau đến các khả năng của điện thoại cung cấp cho người
dùng với các ứng dụng và dịch vụ rất rộng rãi. Vì thế các ứng dụng có thể
phát huy mọi điểm mạnh của mình mà không gặp trở ngại nào.
• Phá vỡ những ranh giới ứng dụng: Android phá vỡ các rào cản trong việc xây
dựng các ứng dụng mới. Ví dụ như nhà phát triển có thể kết hợp thông tin từ
web và các thông tin cá nhân trong điện thoại di động như user contact,
calendar để cung cấp cho người dùng những thông tin phù hợp hơn, tượng
tự như các dịch vụ hiện có của Google. Và không chỉ phá vỡ rào cản về mặt
kỹ thuật mà còn cả rào cản về mặt địa lý, với Android một nhà phát triển có
thể xây dựng ứng dụng cho phép người dùng thấy được vị trí của bạn bè của
họ, thông báo khi họ ở gần nhau và tạo cơ hội để họ kết nối với nhau.
• Phát triển ứng dụng nhanh và dễ dàng: Android cho phép truy nhập phạm vi
rất rộng các công cụ và thư viện hữu ích được sử dụng để xây dựng các ứng
dụng. Ví dụ Android cho phép các nhà phát triển lấy về vị trí của thiết bị và
cho phép các thiết bị kết nối với nhau. Thêm nữa Android còn chứa một tập
đầy đủ các công cụ được xây dựng rất sát với nền tảng giúp cho các ứng
dụng được tạo ra có hiệu suất cao.
2. Kiến trúc Android OS
Kiến trúc Android bao gồm một loạt tính năng ấn tượng cho các ứng dụng di
động. Trong thực tế, khi nhìn vào kiến trúc đơn lẻ, nếu không xem xét Android là
một nền tảng thiết kế cho các môi trường điện thoại di động, thì rất dễ dàng nhầm

sử dụng
• Notification Manager: cho phép tất cả các ứng dụng đưa ra các thông báo
dưới dạng thanh trạng thái.
c. Libraries
Android cung cấp một tập các thư viện C/C++ được sử dụng bởi các thành
phần khác nhau trong hệ thống. Dưới đây là một số thư viện lõi:
• Thư viện C hệ thống: thừa kế từ thư viện hệ thống C chuẩn được cung cấp
cho các thiết bị nhúng dựa trên nhân Linux.
• Thư viện media: hỗ trợ việc thu, phát của rất nhiếu định dạng video và audio
cũng như là các định dạng ảnh tĩnh như MPEG4, H.264, MP3, AAC, AMR,
JPG, và PNG.
• Surface Manager: quản lí việc truy nhập đến các hệ thống con dùng cho việc
thể hiện đồ họa, kết hợp các lớp đồ họa 2D, 3D từ nhiều ứng dụng.
• LibWebCore: một cơ chế trình duyệ Web hiện đại bao gồm khả năng của
trình duyệt Web Android và trình duyệt Web nhúng.
• SGL (Skia Graphics Library): cơ chế đồ họa 2D cơ sở.
• Thư viện 3D: thư viện đồ họa 3D phát triển dựa trên OpenGL ES 1.0 APIs.
• FreeType: render các ảnh bitmap và font vectơ.
• SQLite: hệ quản trị cơ sở dữ liệu quan hệ nhẹ và mạnh mẽ có hiệu lực với tất
cả các ứng dụng .
d. Dalvik Virtual Machine (DVM)
Máy ảo Dalvik một thành phần rất quan trọng trong Android. Nó thực hiện
các ứng dụng trên nền Java và đã được đóng gói dưới dạng file .dex (Dalvik
Executable - dạng file thực thi của máy ảo Dalvik) phù hợp với các thiết bị mobile
bị hạn chế về bộ nhớ và tốc độ xử lí chậm. Không giống như hầu hết các máy ảo
dựa trên ngăn xếp, Dalvik là một máy ảo dựa thanh ghi. Với các máy ảo dựa ngăn
xếp, do phải nạp dữ liệu vào ngăn xếp rồi mới thực hiện trên các dữ liệu đó nên
chúng thường cần nhiều lệnh hơn so với những máy ảo dựa thanh ghi. Tuy nhiên
các máy ảo dựa thanh ghi do phải mã hóa thanh ghi nguồn và đích nên các lệnh
thường sẽ lớn hơn. Dalvik sử dụng một loại bytecode riêng không phải Java

Kết nối
Hỗ trợ nhiều giao thức kết nối khác nhau: GSM/EDGE, IDEN,
CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi và WiMAX.
Tin nhắn Hỗ trợ 2 giao thức truyền tải tin nhắn là SMS và MMS
Trình duyệt web
Trình duyệt web của Android được xây dựng dựa trên nền
Webkit. Trình duyệt này đạt được 93/100 điểm với bài kiểm tra
Acid3. Hỗ trợ Flash phiên bản 10, hỗ trợ upload file qua trình
duyệt.
Hỗ trợ Java
Ứng dụng trên Android được viết bằng mã Java có thể được biên
dịch để chạy trên máy ảo Dalvik Virtual Machine. Tuy nhiên
Android lại không trợ J2ME như nhiều dòng điện thoại hiện đại
khác. Ngoài ra ứng dụng trên Android còn có thể được cài đặt
trên thẻ nhớ ngoài nhằm mở rộng dung lượng bộ nhớ.
Hỗ trợ Media Một số chuẩn của 3GP và MP4 như H263, H264, MPEG-4 SP,
AAC ; MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, BMP.
Cho phép quay phim và xem lại. Cho phép gửi ảnh lên Piccassa
và video lên Youtupe trực tiếp từ thiết bị. Ngoài ra Android còn
đi kèm theo một trình quản lý thư viện (galleries).
Hỗ trợ phần
cứng
Video, camera, màn hình cảm ứng, gia tốc kế, từ phổ kế, các
thiết bị tăng tốc đồ họa 2D và 3D
Thương mại
Google cho ra đời một cửa hàng trực tuyến tại địa chỉ
bắt đầu từ năm 2008, cho phép
người dùng tải và cải đặt phần mềm vào Android mà không phải
thông qua máy tính để bàn.
Hỗ trợ đa chạm

Toàn bộ code trong một gói .apk được coi là một ứng dụng. Tuy nhiên điểm cần chú
ý rằng thực chất Android chỉ sử dụng lại cú pháp của ngôn ngữ Java là chủ yếu chứ
không hỗ trợ đầy đủ ngôn ngữ này. Các thư viện Java cũng như các hàm API của
Android chỉ là một phần của bộ chuẩn Java Platform Standard Edition (Java SE)
hay bộ thu nhỏ dành cho di động Java Platform Micro Edition (Java ME hay còn
gọi là J2ME). Máy ảo Java của Android cũng là một dạng khác dựa trên cấu trúc
của máy ảo Java. Vì vậy việc tái sử dụng mã nguồn của các ứng dụng viết cho các
hệ điều hành khác vào các ứng dụng trên Android cũng khá khó khăn.
Trong khuôn khổ đồ án này sẽ tập trung vào nghiên cứu và trình bày về phát
triển ứng dụng trên Android sử dụng ngôn ngữ Java.
b. Các thành phần cơ bản của ứng dụng Android:
Ứng dụng Android bao gồm 6 thành phần:
• Activity: Activity là nền của một ứng dụng. Khi khởi động một ứng dụng
Android nào đó thì bao giờ cũng có một main Activity được gọi, hiển thị màn
hình giao diện của ứng dụng cho phép người dùng tương tác
Một ứng dụng Android có thể chứa một hoặc nhiều activity. Mỗi một activity
được cung cấp một cửa sổ để thao tác trên đó. Cửa sổ này có thể là toàn màn
hình hoặc nhỏ hơn màn hình và đè lên cửa sổ khác. Thành phần trực quan
của cửa sổ được cung cấp bởi một hệ thống các khung nhìn - các đối tượng
thừa kế từ lớp View (như TextView để thể hiện các dòng văn bản,
ButtonView để thể hiện các nút, ). Mỗi khung nhìn điều khiển một vùng
hình chữ nhật bên trong cửa sổ. Các khung nhìn chính là nơi một activity
tương tác với người dùng. Các khung nhìn được đặt vào cửa sổ bởi hàm
Activity.setContentView(View Oject).
• Service: Một service không có một giao diện trực quan. Nó chạy ở nền trong
một thời gian không xác định. Mỗi một service thừa kế từ lớp cơ sở Service.
Một ví dụ để có thể hiểu về service là ứng dụng music player. Ứng dụng có
thể có nhiều activity cho phép người dùng lựa chọn bài hát hay bắt đầu chơi
nhạc. Tuy nhiên bộ phận phát nhạc lại không được được điều khiển bởi
activity bởi người dùng mong muốn nhạc vẫn được chơi khi người dùng rời

Activity, Service, Broadcast Receiver và Content Provider mới là những
thành phần chính cấu thành nên ứng dụng Android, bắt buộc phải khai báo
trong AndroidManifest.
c. Vòng đời của một ứng dụng:
Như đã giới thiệu ở trên , Actitvity là thành phần quan trọng nhất và đóng vai
trò chính trong xây dựng ứng dụng Android. Hệ điều hành Android quản lý Activity
theo dạng stack: khi một Activity mới được khởi tạo, nó sẽ được xếp lên đầu của
stack và trở thành running activity, các Activity trước đó sẽ bị tạm dừng và chỉ hoạt
động trở lại khi Activity mới được giải phóng.
Hình 5: Vòng đời của ứng dụng Android
Activity bao gồm 4 state:
• active (running): Activity đang hiển thị trên màn hình (foreground).
• paused: Activity vẫn hiển thị (visible) nhưng không thể tương tác (lost
focus). VD: một activity mới xuất hiện hiển thị giao diện đè lên trên activity
cũ, nhưng giao diện này nhỏ hơn giao diện của activity cũ, do đó ta vẫn thấy
được 1 phần giao diện của activity cũ nhưng lại không thể tương tác với nó.
• stop: Activity bị thay thế hoàn toàn bởi Activity mới sẽ tiến đến trạng
thái stop.
• killed: Khi hệ thống bị thiếu bộ nhớ, nó sẽ giải phóng các tiến trình theo
nguyên tắc ưu tiên. Các Activity ở trạng thái stop hoặc paused cũng có thể bị
giải phóng và khi nó được hiển thị lại thì các Activity này phải khởi động lại
hoàn toàn và phục hồi lại trạng thái trước đó.
5. Môi trường phát triển
a. Hệ điều hành:
Về hệ điều hành để cài đặt các công cụ hỗ trợ, hiện nay Google hỗ trợ hầu
hết các hệ điều hành dành cho máy để bàn hiện đại, cụ thể bao gồm:
• Microsoft Windows: các phiên bản XP 32 bits, Vista 32 và 64 bits, Windows
7 32bits và 64bits.
• Apple Mac OS X
• Linux: các dòng hiện đại đều có thể sử dụng được như Ubuntu, Fedora

viên sẽ gửi tất cả các tham số yêu cầu qua url, điều này sẽ dễ dàng hơn cho lập trình
viên phía client tuy nhiên sẽ rất khó để giấu url cho server.
Việc sử dụng kết nối HTTP có ưu điểm là dễ dàng cho lập trình viên nhưng
nó lại có một số điểm bất lợi sau :
• HTTP khiến cho kết nối giữa Client-Server không được liên tục. Hệ thống
chỉ thực hiện kết nối khi có yêu cầu, và đóng lại sau khi nhận được dữ liệu.
Do đó, việc request sẽ tốn một khoảng thời gian để thiết lập kết nối, điều mà
kết nối socket không mắc phải.
• Ngoài ra do việc sử dụng giao thức kết nối HTTP thực hiện truy vấn trực tiếp
lên service không đảm bảo được tính bảo mật và trong suốt của hệ thống do
có thể dễ dàng phát hiện các câu truy vấn.
Giao thức Socket TCP:
Chính từ những nhược điểm trên của HTTP, yêu cầu đặt ra là xây dựng thêm
một module kết nối nằm giữa client và các service, nhằm làm trong suốt giữa hai
tầng này, nâng cao tính bảo mật đối với server chứa service. Module này sẽ thiết lập
một kết nối TCP socket với các client, giữ các kêt nối, lấy các dữ liệu từ service và
trả lại cho client.
Module kết nối tại client có nhiệm vụ quản lý các gói tin gửi đi, nhận và xử lí
các gói tin gửi về từ server và hiển thị kết quả lên form. Module này do client xây
dựng và quản lý.
Module kết nối tại Server sẽ tạo một socket, lắng nghe những packet từ client
gửi lên, xử lý,sau đó dựa vào mã gửi lên để gọi các dịch vụ được cung cấp bởi CMS
– Database (theo mô hình 3 trang 13) để trả về các dữ liệu đã được chuẩn hoá tương
ứng. Module này do Server quản lý.
Hình 6: Mô hình Socket TCP
Một số đặc điểm của giao thức Socket:
- Socket có cơ chế keep alive, kết nối không bị mất sau mỗi lần nhận được dữ
liệu.=> khắc phục được so với http. Thời gian kết nối client-server sẽ không bị mất.
- Tuy nhiên chính điều này dẫn đến 1 vấn đề là khi mà Socket keep alive với các
request của client. Server có thể sẽ bị quá tải trong trường hợp hàng nghìn request


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status