Giao thức kết nối giữa một máy khách trên điện thoại di động bằng J2ME và một máy chủ có thể là một trong hai kiểu sau: Kết nối thông qua socket, hoặc kết nối thông qua HTTP
Bảng 8. So sánh giữa kết nối bằng socket và kết nối bằng HTTP
Kết nối socket Kết nối HTTP
Ưu điểm - Thời gian tạo kết nối nhanh - Chỉ cần duy trì duy nhất một kết nối trong quá trình sử dụng ứng dụng
- Không mất thời gian tạo kết nối, khi thực hiện yêu cầu tiếp theo tới server
- Cài đặt trên điện thoại và trên server đơn giản (do J2ME đã hỗ trợ cách thức này)
- Tất cả các dòng máy đều hỗ trợ
Nhược điểm - Phía server cài đặt phức tạp - Một số dòng điện thoại không hỗ trợ kết nối socket, ví dụ như: Motorola ROKR E6
- Phải tạo nhiều kết nối tới server - Thời gian chạy sẽ chậm hơn do mất thời gian khởi tạo kết nối Nhìn vào bảng 8 ta có thể thấy, kết nối tạo bằng socket có được ưu điểm lớn là thời gian tạo kết nối rất nhanh, hơn nữa chỉ mất duy nhất một lần tạo kết nối. Điều này rất quan trọng trong các ứng dụng J2ME bởi vì khi chạy trên một thiết bị thật, vì những yêu cầu bảo mật, các ứng dụng khi muốn truy cập tới các tài nguyên như: tương tác với internet, tương tác qua mạng (nhắn tin sms, gọi điện), tương tác đọc/ghi với bộ nhớ của thiết bị, … đều bị hỏi quyền truy cập. Chính vì thế, bằng cách chỉ tạo ra một kết nối socket và giữ cho tới khi ứng dụng bị đóng, sẽ tạo ra tiện lợi rất lớn cho người dùng. Tuy nhiên, do việc cài đặt trên phía server đối với kết nối socket lại rất phức tạp. Server sẽ phải xử lý việc đa kết nối, và đồng thời phải lưu và giữ cho tất cả kết nối hoạt động. Như thế server sẽ phải chịu tải rất lớn. Trong khi đó, kết nối bằng HTTP, tuy sẽ mất thời gian hơn trong việc khởi tạo kết nối, bởi mỗi lần ứng dụng yêu cầu lên server, ứng dụng phải sinh ra một kết nối mới. Tuy nhiên, việc cài đặt lại đơn giản hơn rất nhiều, phía server, ta sẽ dùng chính web server để xử lý, còn phía client, ta sử dụng Collection Framework đã được hỗ trợ sẵn trong J2ME.
Chương 5. Xây dựng ứng dụng đọc báo mNews trên di động Nguyễn Trung Kiên
Chính vì thế, trong khóa luận này, chúng tôi sử dụng kết nối dạng HTTP để việc cài đặt được đơn giản hơn.