Socket là gì? Cách phân loại Socket hiện nay

- , - 241, -

Thuật ngữ socket xuất hiện khá nhiều trong ngôn ngữ lập trình hiện nay. Lập trình socket khá đơn giản và dễ dàng, Tuy nhiên trước khi bắt đầu, chúng ta cần phải tìm hiểu một số khái niệm về socket là gì. Để giúp bạn hiểu hơn về vấn đề này, hôm nay Webdinhnghia.com Việt Nam chia sẻ kiến thức bổ ích này tới bạn nhé!!!

Socket là gì?

Socket được hiểu là một cổng logic mà các chương trình chạy trên máy tính này có thể kết nối với chương trình khác chạy trên máy tính khác, dựa vào nền tảng internet. Mạng internet cho phép người dùng có thể sử dụng nhiều socket, do vậy cùng một lúc người ta có thể sử dụng nhiều chương trình khác nhau. Socket thực hiện chức năng kết nối giữa silent và server thông qua một cổng port, ở đó các tầng TCP có thể định danh ứng dụng và dữ liệu truyền tải tới.

Socket là gì?
Socket là gì?

Lập trình socket cho phép người dùng kết nối các máy tính truyền tải và nhận dữ liệu từ máy tính thông qua mạng lưới internet. Hiểu một cách đơn giản hơn thì socket giống như một thiết bị truyền thông hai chiều gửi và nhận dữ liệu từ máy tính khác.

Cách phân loại socket

Stream socket

Stream socket hoạt động dựa trên giao thức TCP-transmission control protocol. Stream Socket cho phép người dùng chuyển tải dữ liệu, thực hiện giữa hai quá trình được thiết lập kết nối. Cơ chế của stream socket thông qua việc quản lý luồng lưu thông trên mạng và chống tắc nghẽn. Nhờ vậy, các dữ liệu được truyền đến nơi một cách đáng tin cậy, đúng thứ tự. Stream socket còn phân biệt được giữa dữ liệu của  nhiều ứng dụng như dịch vụ web và dịch vụ thư điện tử khi chạy đồng thời. Giao thức TCP được dùng trong mạng WAN là chủ yếu.

socket là gì
Stream socket

Tuy nhiên stream socket cũng tồn tại một số hạn chế. Việc kết nối được thực hiện giữa 2 tiến trình. Do đó, một trong hai bên phải chờ đợi để tiến trình còn lại yêu cầu kết nối.

Datagram socket

Datagram socket hoạt động dựa trên giao thức UDP-user datagram protocol. Khác với stream socket, datagram socket cho phép người dùng truyền tải dữ liệu  mà không cần đến sự kết nối giữa 2 quá trình. Tốc độ kết nối của datagram socket nhanh hơn rất nhiều, thích hợp để truyền tải những dữ liệu có kích thước nhỏ và yêu cầu khắt khe về thời gian. Chúng rất hữu ích và hiệu quả khi thực hiện truyền tải các ứng dụng như game hay chat,…Giao thức UDP được dùng chủ yếu trong mạng LAN.

Tuy nhiên datagrams socket không cung cấp được sự tinh cận với các gói thông tin. Thông tin truyền tải có thể không đúng thứ tự hoặc có thể bị mất mà không có thông báo.

Cách thức hoạt động của Socket

Bằng cách sử dụng giao thức TCP hoặc UDP, socket sẽ giúp thực hiện lập trình kết nối các ứng dụng để truyền tải và nhận dữ liệu đến máy tính khác trên nền tảng internet. Nếu muốn trao đổi dữ liệu thì ít nhất bạn phải biết được thông tin địa chỉ IP và số hiệu của cổng ứng dụng kia. Các ứng dụng được đem ra truyền tải và trao đổi có thể nằm cùng trên một máy, nhưng chúng không được trùng số hiệu cổng.

socket là gì2
Cách thức hoạt động của Socket

Ưu điểm lớn của socket là bạn có thể chạy nhiều socket cùng một lúc nên công việc sẽ nhanh hơn, hiệu suất làm việc cao hơn. xúc cát hiện nay được hỗ trợ hầu hết trên các hệ điều hành MS Windows, Linux, sử dụng được nhiều trong các ngôn ngữ lập trình C, C++, java, Visual Basic,….

Một số thuật ngữ liên quan đến socket

Web socket

Websocket là công nghệ hỗ trợ giao tiếp hai chiều thông qua việc sử dụng TCP socket, để tạo ra một kết nối hiệu quả ít tốn kém giữa client và server. Websocket các không chỉ được sử dụng cho các ứng dụng web, mà người dùng có thể sử dụng chúng trong bất kì loại ứng dụng nào. Websocket thường rất nhiều người tin dùng bởi khả năng giao tiếp 2 chiều mạnh mẽ, tốc độ nhanh và dễ xử lý lỗi. Tuy nhiên web socket hầu như chưa được các trình duyệt hỗ trợ, nên khá khó để sử dụng phổ biến.

Unix socket

Unix socket dùng để trao đổi dữ liệu giữa các ứng dụng trên cùng máy tính. Unix socket có khả năng tránh được các bước kiểm tra hoặc routing, do đó trong đầu kết nối rất nhanh và nhẹ nhàng hơn so với giao thức TCP. Tuy nhiên Unix socket có nhược điểm đó là không thể kết nối hai ứng dụng được với nhau. Việc phân quyền có thể gây đến nhiều rắc rối cho bạn, do bản chất của unix socket chỉ là một tập tin trên máy chủ.

Socket rất hữu ích trong quá trình nhận và truyền tải dữ liệu giữa hai tiến trình. Súc két được hỗ trợ trên nhiều giao thức khác nhau như TCP hay UDP,… Hi vọng bài viết này đã đem đến cho bạn những kiến thức bổ ích về socket. Hãy like và share bài viết này nếu bạn thấy hay nhé!!!

Xem thêm: SQL là gì? Cấu trúc sử dụng một số câu lệnh trong SQL


Nguồn web: dmlrbmV3cy5jb20=

CATEGORIES

TOP LÀ GÌ

TOP Tìm Hiểu

TOP Định Nghĩa

Socket là gì? Cách phân loại Socket hiện nay

5/5
Thuật ngữ socket xuất hiện khá nhiều trong ngôn ngữ lập trình hiện nay. Lập trình socket khá đơn giản và dễ dàng, Tuy nhiên trước khi bắt đầu, chúng...

FANPAGE