Bài hướng dẫn này sẽ giới thiệu về socket trong Python và cách sử dụng socket mô-đun để xây dựng máy chủ và máy khách trong HTTP Python. Nó cũng sẽ khái quát Tornado, một thư viện kết nối mạng trong Python, lý tưởng cho bỏ phiếu dài, WebSocket và các ứng dụng khác yêu cầu kết nối lâu dài với mỗi người dùng Show Ổ cắm là gì?Một ổ cắm là một liên kết giữa hai ứng dụng có thể giao tiếp với nhau (hoặc bộ cục bộ trên một máy đơn lẻ hoặc từ xa giữa hai máy ở các vị trí riêng biệt) Về cơ bản, ổ cắm hoạt động như một liên kết giao tiếp giữa hai thực thể, tức là máy chủ và máy khách. Một máy chủ sẽ trả về thông tin được yêu cầu bởi một máy khách. Ví dụ: khi bạn truy cập trang này, trình duyệt sẽ tạo một ổ cắm và kết nối với máy chủ Ổ cắm mô-đunĐể tạo socket, bạn sử dụng hàm 200 và cú pháp đơn giản như sau 1 import socket 2 s= socket.socket (socket_family, socket_type, protocol=0) Đây là mô tả của các đối số
Sau khi lấy socket đối tượng, bạn có thể tạo máy chủ hoặc máy khách theo ý mình bằng cách sử dụng các phương thức có sẵn trong mô-đun socket Tạo một máy khách đơn giảnTrước khi bắt đầu, chúng ta hãy tìm hiểu các phương thức socket của client có sẵn trong Python
Để tạo một ổ cắm mới, trước tiên bạn nhập phương thức ổ cắm của lớp ổ cắm 1 import socket Tiếp theo, chúng ta sẽ tạo một luồng socket (TCP) như sau 1 stream_socket = socket.socket( socket.AF_INET, socket.SOCK_STREAM ) Tham số 203 cho biết bạn đang yêu cầu một socket Internet Protocol (IP), cụ thể là IPv4. Tham số thứ hai là loại giao thức truyền tải 204 cho các socket TCP. Ngoài ra, bạn cũng có thể tạo một IPv6 socket bằng cách chỉ định tham số 205 của socket Chỉ định máy chủ 1 server = "localhost" Chỉ định cổng mà chúng ta muốn liên lạc 1 import socket1 Kết nối ổ cắm tới cổng nơi máy chủ đang lắng nghe 1 import socket3_______0_______ import socket5 import socket6 Điều quan trọng cần lưu ý là máy chủ và cổng phải là một tuple Gửi yêu cầu dữ liệu đến máy chủ 1 import socket8 2 20 Nhận phản hồi từ máy chủ 1 22_______0_______ 24 To close a connect socket, you use close method 1 26 Dưới đây là code đầy đủ cho Client/Server 1 import socket 2 s= socket.socket (socket_family, socket_type, protocol=0)0 import socket6 s= socket.socket (socket_family, socket_type, protocol=0)2 s= socket.socket (socket_family, socket_type, protocol=0)3 s= socket.socket (socket_family, socket_type, protocol=0)4 s= socket.socket (socket_family, socket_type, protocol=0)5 s= socket.socket (socket_family, socket_type, protocol=0)6 s= socket.socket (socket_family, socket_type, protocol=0)7 s= socket.socket (socket_family, socket_type, protocol=0)8 s= socket.socket (socket_family, socket_type, protocol=0)9 10 11 12 13 14 15 16 17 18 19 import socket3 import socket1 import socket2 import socket3 import socket4 import socket5 import socket5 import socket7 import socket8 import socket9 10 11 import socket8 13 20 15 16 17 18 19 stream_socket = socket.socket( socket.AF_INET, socket.SOCK_STREAM )0 24 stream_socket = socket.socket( socket.AF_INET, socket.SOCK_STREAM )2 stream_socket = socket.socket( socket.AF_INET, socket.SOCK_STREAM )3 stream_socket = socket.socket( socket.AF_INET, socket.SOCK_STREAM )4 stream_socket = socket.socket( socket.AF_INET, socket.SOCK_STREAM )5 stream_socket = socket.socket( socket.AF_INET, socket.SOCK_STREAM )6 26 Xây dựng một máy chủ đơn giảnBây giờ chúng ta hãy tìm hiểu một máy chủ Python đơn giản. Sau đây là các phương thức máy chủ của ổ cắm có sẵn trong Python
Chúng ta sẽ làm theo các bước sau
Đây là chương trình máy chủ 1 import socket 2 s= socket.socket (socket_family, socket_type, protocol=0)0 import socket6 s= socket.socket (socket_family, socket_type, protocol=0)2 s= socket.socket (socket_family, socket_type, protocol=0)3 s= socket.socket (socket_family, socket_type, protocol=0)4 16 s= socket.socket (socket_family, socket_type, protocol=0)6 s= socket.socket (socket_family, socket_type, protocol=0)7 s= socket.socket (socket_family, socket_type, protocol=0)8 s= socket.socket (socket_family, socket_type, protocol=0)9 10 11 12 13 14 15 16 17 server = "localhost"9 19 import socket01 import socket1 import socket03 import socket2 import socket05 import socket4 import socket5 import socket08 import socket7 import socket10 import socket8 import socket12 import socket9 11 import socket15 13 15 import socket18 16 18 import socket21 stream_socket = socket.socket( socket.AF_INET, socket.SOCK_STREAM )0 import socket23 stream_socket = socket.socket( socket.AF_INET, socket.SOCK_STREAM )2 import socket25 stream_socket = socket.socket( socket.AF_INET, socket.SOCK_STREAM )3 stream_socket = socket.socket( socket.AF_INET, socket.SOCK_STREAM )4 import socket28 stream_socket = socket.socket( socket.AF_INET, socket.SOCK_STREAM )6 import socket30 import socket31 import socket32 import socket33 import socket34________2__ Máy chủ đã có sẵn cho các kết nối đến Bây giờ hãy chạy chương trình máy khách và máy chủ trong các cửa sổ terminal riêng biệt để chúng có thể giao tiếp với nhau Đầu ra máy chủ1 import socket40_______0_______ import socket42 import socket6 import socket44 s= socket.socket (socket_family, socket_type, protocol=0)2 import socket46 Đầu máy khách12_______48 2 import socket50 import socket6_______2_______52 s= socket.socket (socket_family, socket_type, protocol=0)2 import socket54 Lốc xoáy khungFramework Tornado là một trong các thư viện có sẵn để lập trình mạng bằng Python. Trong phần này, chúng ta sẽ thảo luận về thư viện này và cách sử dụng nó để xây dựng WebSocket Tornado là một khung web bằng Python và thư viện kết nối mạng không đồng bộ. Tornado sử dụng mạng I/O không ngăn chặn, và do đó có khả năng mở rộng tới hàng kết nối mở dự đoán. Đặc điểm này làm cho nó trở nên lý tưởng cho kết nối long-polling, WebSocket và các ứng dụng khác yêu cầu kết nối lâu dài với mỗi người dùng Hãy tạo một đơn giản WebSocket Tornado 1 import socket56 2 import socket58 import socket6 s= socket.socket (socket_family, socket_type, protocol=0)2 s= socket.socket (socket_family, socket_type, protocol=0)4 import socket62 s= socket.socket (socket_family, socket_type, protocol=0)6 s= socket.socket (socket_family, socket_type, protocol=0)7 import socket65 s= socket.socket (socket_family, socket_type, protocol=0)9 import socket67 11 import socket69 12 import socket71 14 import socket73 16 import socket75 17 import socket77 19 import socket79 import socket1 import socket81 import socket2 import socket83 import socket4 import socket85 import socket5 import socket7 import socket8 import socket89 import socket9 import socket91 11 import socket93 13 import socket95 15 import socket97 16 import socket99 Trong đoạn mã trên
Nếu chúng ta chạy ứng dụng, chúng ta sẽ nhận được kết quả như trong hình minh họa bên dưới Phần kết luậnBây giờ bạn đã nắm được những kiến thức cơ bản về lập trình socket trong Python và cách bạn có thể xây dựng một máy chủ và máy khách đơn giản. Hãy thử bằng cách xây dựng ứng dụng trò chơi của riêng bạn. Để tìm hiểu thêm, hãy truy cập tài liệu hướng dẫn Python Ngoài ra, đừng ngại xem qua những gì chúng tôi đang dành để bán và dành cho học tập trên Envato Market, và đừng ngại hỏi bất kỳ câu hỏi nào và cung cấp phản hồi có giá trị của bạn bằng cách sử dụng phần |