KẾT NỐI THỜI GIAN THỰC LÀ GÌ VÀ NHỮNG ĐẶC ĐIỂM NỔI BẬT CỦA CHÚNG

09-09-2018 23:07

Hãy thử tưởng tượng bạn phải đợi đồng nghiệp gửi một e-mail và phải liên tục tải lại trang để kiểm tra thư đã đến hay chưa. Chả phải tốt hơn khi hệ thống sẽ tự động thông báo có thư mới cho bạn khi bạn đã nhận được thư hay sao? Hiện nay, với sự trợ giúp của công nghệ kết nối thời gian thực, những thông tin mới luôn được cập nhật gần như ngay lập tức và các lập trình viên, nhất là lập trình ứng dụng đang cần tự update cho mình những thông tin về cách xây dựng hệ thống này cho các dự án của mình.

Hãy cùng ITPlus Academy tìm hiểu về thư viện giúp các lập trình viên có thể xây dựng loại kết nối thời gian thực khá nổi trong thời gian gần đây: SingalR.

Kết nối thời gian thực là gì?

Trước khi chúng ta bắt tay tìm hiểu những đặc tính của SingalR, cùng hiểu kết nối thời gian thực (real-time connectivity) là gì và quy trình chúng hoạt động thế nào.

Hầu hết các website hiện nay đang sử dụng HTTP, giúp xử lý các yêu cầu khi có một người dùng truy cập vào URL và gửi đi các lệnh đến server. Server sau đó nhập yêu cầu và chuyển dữ liệu tới người dùng. Và ngay sau khi vận chuyển hết dữ liệu tới người dùng, server sẽ ngắt kết nối.

Đây chính là vấn đề chúng ta cần bàn tới. Mặc dù nó vận hành khá ổn với một vài loại website, nhưng thuật toán này lại gây ra vấn đề về trải nghiệm người dùng khi sử dụng các website cần sự tương tác liên tục như chatbox, trao đổi công việc hay truyền tải các file tới nhiều bộ phận khác nhau trong cùng một server. Chính vì vậy nhu cầu cần tạo  ra một nền tảng giúp việc vận chuyển dữ liệu được diễn ra liên tục khiến cho các nhà phát triển công nghệ tạo ra một loại kết nối giúp các lập trình viên ứng dụng vào công việc của mình: Kết nối thời gian thực.

SignalR là gì? Có các loại hình nào của SingalR?

SignalR là một thư viện trên ASP.NET giúp thiết lập một vài hình thức kết nối thời gian thực phổ biển như sau:

1. WebSocket:

Chính là một trong những ứng dụng của thư viện này, cũng như là một trong những phương thức kết nối thời gian thực phổ biến nhất, bởi đặc tính của nó là tạo ra cổng kết nối đôi (bi-directional) khá hoàn hảo. Client và server khi sử dụng kết nối này có thể chuyển dữ liệu trong cùng một lúc. Chính vì thế, WebSocket tương thích rất tốt với các loại ứng dụng như chat hay game online.

2. SSE (Server-Sent Events)

Tiền bối của WebSocket, cũng có thể tạo ra những kết nối liên tục và bền vững. Tuy nhiên khác với người đàn em của mình. SSE chỉ tạo ra cổng kết nối đơn hướng (unidirectional connection), có nghĩa là mặc dù server có thể gửi dữ liệu mới tới client bất cứ lúc nào, khi client muốn gửi lại dữ liệu tới server, họ sẽ phải gửi yêu cầu kết nối lại với server. Ví dụ điển hình của loại kết nối này là Facebook notification hay các trang tin tức trực tuyến.

3. Iframe

Giống với SSE, Iframe cũng tạo ra cổng kết nối đơn hướng, giúp người dùng không phải tải lại trang để có thể nhận dữ liệu mới từ server. Iframe tạo các khối nội dung nằm trong HTML để server có thể truyền thông tin vào trong đó. Loại hình kết nối này thích hợp nếu bạn muốn đưa một vài thông tin có thể tự cập nhật trong website và có thể thay đổi được, như quảng cáo, new feeds hoặc thông cáo trực tuyến.

Bởi sự đa dạng trong các loại hình kết nối thời gian thực cũng như sự linh hoạt trong việc áp dụng SingalR, cùng với đó loại hình kết nối này đã được thích hợp trong các framework của ASP.NET sẽ giúp các lập trình viên có thể có nhiều lựa chọn phát triển các sản phẩm của mình một cách tốt nhất, cũng như giúp các học viên đang học lập trình có thêm nguồn kiến thức giúp tăng cường vốn hiểu biết của mình.

Hiện nay có rất nhiều khóa học lập trình dành cho người mới bắt đầu với chi phí rất rẻ nhưng mang lại hiệu quả tốt. Tham khảo một số khóa học:

Ban Truyền thông ITPlus Academy

Bài viết cùng chủ đề