Tạo máy chủ websocket python
"Ổ cắm là một điểm cuối của liên kết giao tiếp hai chiều giữa hai chương trình đang chạy trên mạng. Một ổ cắm được liên kết với một số cổng để lớp TCP có thể xác định ứng dụng mà dữ liệu sẽ được gửi tới" - theo lời tiên tri Ổ cắm là một điểm cuối của liên kết giao tiếp hai chiều giữa hai chương trình đang chạy trên mạng. Một ổ cắm được liên kết với một số cổng để lớp TCP có thể xác định ứng dụng mà dữ liệu sẽ được gửi tới" - theo oracle Show Nội dung chính Hiển thị
Tạm dịch, một ổ cắm là một điểm cuối (điểm cuối) của một liên kết thông tin liên lạc 2 chiều giữa 2 chương trình chạy trên hệ thống mạng. Một ổ cắm được liên kết với một cổng (PORT) để tầng TCP có thể xác định danh sách ứng dụng nào đã gửi dữ liệu đến Như vậy, socket được sử dụng cho phép một tiến trình (hay chương trình) này nói chuyện với một tiến trình (hay chương trình) khác và duy trì kết nối này 2. Ổ cắm tại sao cầnThông thường có 2 dạng socket là web socket và unix socket. ổ cắm web và ổ cắm unix
Ổ cắm web sẽ là đối tượng quan tâm chính của chúng ta ở đây và phần sau của bài viết vậy. tại sao cần sử dụng ổ cắm? . tại sao cần sử dụng ổ cắm?
3. Active mode of socketỔ cắm là thiết lập một kết nối giữa máy khách và máy chủ thông qua giao thức TCP/IP hoặc UDP để truyền và nhận dữ liệu qua internet. Để nói thêm, một điểm cuối (điểm cuối) được định nghĩa là cặp IP và PORT. Mọi kết nối TCP được xác định duy nhất bởi hai điểm cuối của nó do đó chúng ta có thể tạo ra rất nhiều kết nối giữa máy khách và máy chủ (thông thường mỗi máy có hàng chục cổng kết nối - PORT). TCP/IP hoặc UDP để truyền và nhận dữ liệu qua internet. Để nói thêm, một điểm cuối (điểm cuối) được định nghĩa là cặp IP và PORT. Mọi kết nối TCP được xác định duy nhất bởi hai điểm cuối của nó do đó chúng ta có thể tạo ra rất nhiều kết nối giữa máy khách và máy chủ (thông thường mỗi máy có hàng chục cổng kết nối - PORT). Vì vậy socket sử dụng giao thức TCP/IP đang hoạt động như thế nào?
Sở dĩ kết nối được duy trì là do PORT đã mở thì sẽ không đóng lại cho đến khi các điều kiện nói ở trên bị vi phạm hoặc máy khách gửi yêu cầu đóng kết nối. Nói dễ hiểu hơn, khách hàng thiết lập một kết nối đến máy chủ để giao tiếp và nó chỉ có nhiệm vụ ngồi nghe (nghe) mà không phải gửi yêu cầu liên tục. Máy chủ thấy có dữ liệu mới sẽ kiểm tra xem trạng thái kết nối Keep-Alive, nếu kết nối còn nó sẽ gửi dữ liệu qua máy khách Ổ cắm sử dụng giao thức UDP, máy khách và máy chủ sẽ không thiết lập kết nối, máy chủ chỉ cần biết địa chỉ máy khách và đưa dữ liệu đến đó mà không cần biết dữ liệu có đầy đủ hay không 4. Phân loại Ổ cắm web. Ưu và nhược điểmdựa trên giao thức mạng, người ta phân chia làm 2 dạng ổ cắm
Dựa trên giao thức TCP, việc truyền dữ liệu chỉ thực hiện khi máy khách với máy chủ đã thiết lập kết nối. Stream socket còn được gọi là socket direction connection -> điểm ưu tiên. Kết nối cần được xác định rõ ràng nên đảm bảo dữ liệu sẽ được truyền đi với tính chất tin cậy và toàn vẹn -> Nhược điểm. Cần đợi máy khách thiết lập kết nối
based on UDP giao thức, dữ liệu truyền dữ liệu không cần thiết lập kết nối. Còn gọi là ổ cắm không hướng kết nối -> điểm ưu tiên. Không cần thực hiện kết nối nên giảm thời gian hiển thị cho quá trình xác thực, làm tăng tốc độ truyền dữ liệu. -> Nhược điểm. Không tin cậy và không đảm bảo dữ liệu toàn vẹn khi gửi tới máy khách Trong thực tế, Datagram socket thường được sử dụng để cung cấp dữ liệu tin nhắn không hạn chế như trò chơi trò chuyện, máy chủ liên tục gửi tin nhắn mới mà không cần quan tâm đến việc khách hàng đã nhận được hay chưa, đơn giản là nó đang tăng tốc 5. Build a next socket bằng pythonTrong ví dụ dưới đây, ta sẽ sử dụng socket thư viện của python, cùng tìm hiểu một số phương thức nhé
Tìm hiểu thêm về các phương thức tại tài liệu ổ cắmtài liệu ổ cắm Dưới đây là code demo
pauseViệc tăng tốc độ kết nối và tài nguyên sử dụng tối ưu là một nhiệm vụ rất quan trọng trong việc xây dựng một hệ thống máy tính. Một trang web hoặc một ứng dụng di động có tốc độ tải mượt sẽ làm tăng trải nghiệm khách hàng sẽ thu hút và giữ chân khách hàng hơn là một hệ thống xử lý chậm tiến độ. Socket là một công nghệ hoàn hảo cho nhiệm vụ này Trên đây là những kiến thức cần biết về socket và ví dụ về python. Demo này chỉ mang tính chất thử nghiệm kết nối, tính hiệu quả chỉ có thể hiện trong thực tế. Nếu có đóng góp ý kiến hay có câu hỏi gì các bạn hãy để lại bên dưới bình luận và nếu cảm thấy bài viết này hữu ích hãy giúp mình một đánh giá 5 sao. |