Việc chọn lựa loại kết nối là Socket ở mức thấp khiến cho việc xây dựng mô hình Mobile Portal được tối ưu về đường truyền , do người lập trình có thể tự xử lí lấy những dữ liệu muốn trao đổi giữa Client và Server .
So sánh với các loại hình kết nối khác
Download trực tiếp từ
URL Sử dụng giao thức HTTP Sử dụng Socket
• Đây là cách đơn giản nhất để nhận dữ liệu từ web server. Sử dụng một lớp có phương thức khởi tạo (init) có
tên chứa “withContentsOfURL: ” • Xử lý tất cả các việc để nhận dữ liệu từ Internet. Tất cả những gì phải làm là truyền cho phương thức này một đối tượng NSURL chứa url và nó sẽ tạo và trả về một đối tượng chứa dữ liệu của url.
• Tuy nhiên, quá trình xử lý theo cách này là đồng bộ hóa, tức là khi hàm
“withContentsOfURL” được gọi, chương trình sẽ bị dừng để chờ cho đến khi nó hoàn thành việc download dữ liệu. Với các dữ liệu nhỏ thì đây không phải là vấn đề, nhưng vơi các dữ liệu lớn thì nó sẽ dẫn tới việc người dùng
• gọi trực tiếp đến các service. Cách này sẽ lấy dữ liệu theo kiểu không đồng bộ, đồng thời bắt được các lỗi xảy ra. Như vậy khắc phục được nhược điểm của việc download trực tiếp từ URL. • Mỗi lần người dùng muốn
thực hiện một request lên server sẽ phải mất thời gian tạo lại kết nối, làm chậm ứng dụng. Nó cũng không thể khống chế được luồng dữ liệu gửi lên và trả về như sử dụng kết nối socket.
• Hơn nữa là tính trong suốt của ứng dụng client với các service cung cấp bởi Socbay Search Engine. Thông thường, những service như vậy thường được giữ trong suốt với tất cả các client để đảm bảo tính bảo mật và có khả năng thay đổi khi cần thiết. Việc gọi trực tiếp đến những server này sẽ không an toàn, và trong trường hợp muốn bảo trì và thay đổi sẽ làm ảnh hưởng đến toàn bộ hệ thống.
• người lập trình có thể điều khiển được việc truyền nhận dữ liệu theo kiểu đồng bộ hay không đồng bộ, đồng thời kiểm soát được luồng dữ liệu gửi lên và trả về.
• Với cách thức này thì phải xây dựng 2 module client và server. Module client các trách nhiệm tạo thread để xử lý các dữ liệu trả về từ server. Module server có trách nhiệm lắng nghe những gói tin được gửi lên từ client, xử lý, sau đó gọi và lấy thông tin từ service được cung cấp bởi Socbay Search Engine và trả lại cho client.
không thể tương tác với ứng dụng cho đến khi dữ liệu được nhận về hết.