Hướng dẫn how do you code a chat in python? - làm thế nào để bạn viết mã một cuộc trò chuyện trong python?
& nbsp; · 8 phút Đọc · Cập nhật tháng 7 năm 2022 · Thư viện tiêu chuẩn Python · 8 min read · Updated jul 2022 · Python Standard Library Show Tiết lộ: Bài đăng này có thể chứa các liên kết liên kết, có nghĩa là khi bạn nhấp vào liên kết và mua hàng, chúng tôi nhận được hoa hồng.: This post may contain affiliate links, meaning when you click the links and make a purchase, we receive a commission. Phòng trò chuyện là một giao diện cho phép hai hoặc nhiều người trò chuyện và gửi tin nhắn cho mọi người trong phòng. Trong hướng dẫn này, bạn sẽ học cách xây dựng một máy chủ phòng trò chuyện đơn giản và cho phép nhiều máy khách kết nối với nó bằng ổ cắm trong Python.In this tutorial, you will learn how to build a simple chat room server and allow multiple clients to connect to it using sockets in Python. Chúng tôi sẽ sử dụng mô-đun ổ cắm được tích hợp sẵn với Python và cung cấp cho chúng tôi các hoạt động ổ cắm được sử dụng rộng rãi trên Internet, vì chúng đứng sau bất kỳ kết nối nào với bất kỳ mạng nào. Để bắt đầu và để thay đổi màu văn bản, chúng ta sẽ cần gói Colorama để gán màu in cho mỗi máy khách trong phòng chat:colorama package to assign a printing color to each client in the chatroom:
Vì chúng tôi đang sử dụng ổ cắm, nên chúng tôi cần một máy chủ và mã máy khách, hãy bắt đầu với phía máy chủ. Mã máy chủTrong kiến trúc của chúng tôi, toàn bộ công việc của máy chủ là thực hiện hai hoạt động thiết yếu:
Mã dưới đây tạo ra ổ cắm TCP và liên kết nó với địa chỉ máy chủ, sau đó lắng nghe các kết nối sắp tới:
Lưu ý rằng tôi đã sử dụng "0.0.0.0" làm địa chỉ IP máy chủ. Điều này có nghĩa là tất cả các địa chỉ IPv4 trên máy cục bộ. Bạn có thể tự hỏi, tại sao chúng ta không chỉ sử dụng localhost hoặc "127.0.0.1"? Chà, nếu máy chủ có hai địa chỉ IP, hãy nói "192.168.1.2" trên mạng và "10.0.0.1" trên một mạng khác, thì máy chủ lắng nghe trên cả hai mạng."0.0.0.0" as the server IP address. this means all IPv4 addresses on the local machine. You may wonder, why we don't just use localhost or "127.0.0.1" ? Well, if the server has two IP addresses, let's say "192.168.1.2" on a network and "10.0.0.1" on another, then the server listens on both networks. Chúng tôi chưa chấp nhận kết nối, vì chúng tôi không gọi phương thức
Như đã đề cập trước đây, chúng tôi thêm ổ cắm máy khách được kết nối vào bộ sưu tập ổ cắm của chúng tôi và sau đó chúng tôi bắt đầu một luồng mới và chúng tôi đặt nó thành một luồng daemon (kiểm tra hướng dẫn này để biết thêm thông tin về các luồng daemon) thực thi chức năng Cuối cùng, hãy đóng tất cả các ổ cắm:
Được rồi, đó là mã máy chủ, hãy đi sâu vào mã máy khách. Mã khách hàngKhách hàng thực hiện ba hoạt động cơ bản:
Đây là mã cho hoạt động đầu tiên:
Là một hoạt động phụ, chúng tôi cũng đặt một màu cho mỗi máy khách, bạn sẽ thấy nó ở đầu ra. Ngoài ra, hãy đặt tên cho từng máy khách, vì vậy chúng tôi có thể phân biệt giữa các máy khách:
Mã dưới đây chịu trách nhiệm cho hoạt động thứ hai; Tiếp tục nghe tin nhắn từ máy chủ và in chúng vào bảng điều khiển:
Chúng tôi cũng muốn nó nằm trong một luồng riêng như một luồng daemon, vì vậy chúng tôi có thể làm những việc khác trong khi nghe tin nhắn. Bây giờ chúng ta hãy thực hiện nhiệm vụ cuối cùng; Đang chờ đầu vào người dùng cho tin nhắn, sau đó gửi chúng đến máy chủ:
Chúng tôi thêm màu khách hàng, tên và thời gian hiện tại vào thông báo sẽ được gửi, chúng tôi gửi tin nhắn bằng phương thức thông điệp. Trình diễnĐược rồi, bây giờ chúng tôi đã hoàn thành cả hai công thức nấu ăn, hãy trình diễn. Đầu tiên, chúng ta hãy chạy một và chỉ một phiên bản máy chủ: Tuyệt vời, máy chủ đang lắng nghe các kết nối khách hàng sắp tới, chúng ta hãy cố gắng chạy một phiên bản khách hàng: Bây giờ máy khách được kết nối với máy chủ và được nhắc tên người dùng, để đảm bảo rằng nó được kết nối, hãy quay lại bảng điều khiển máy chủ và bạn sẽ thấy nó thực sự được kết nối: Lưu ý rằng chúng tôi đang ở địa chỉ localhost (127.0.0.1) ngay bây giờ, vì đó là cùng một máy, nhưng nếu bạn muốn kết nối từ các máy khác trong cùng một mạng, bạn cũng có thể làm điều đó, chỉ cần đảm bảo thay đổi Hãy chạy một khách hàng khác để chúng ta có thể trò chuyện: Thật tuyệt vời, như bạn có thể thấy, mỗi máy khách có màu để chúng tôi có thể phân biệt giữa người dùng, hãy chạy một ứng dụng khách thứ ba cho vui: Sự kết luậnTuyệt vời, bây giờ mọi tin nhắn được gửi từ một khách hàng cụ thể đều được gửi đến tất cả các máy khách khác. Lưu ý các màu được thay đổi bất cứ khi nào bạn thực hiện lại tập lệnh Client.py.Note the colors are changed whenever you re-execute the client.py script. Vui lòng kiểm tra mã đầy đủ để bạn có thể dễ dàng tự chạy chúng! Tôi khuyến khích bạn thêm nhiều tính năng vào chương trình này. Ví dụ: bạn có thể đưa ra thông báo cho tất cả người dùng khi khách hàng mới được kết nối! Để biết thêm hướng dẫn Python ổ cắm, hãy kiểm tra sau đây:
Cuối cùng, nếu bạn là người mới bắt đầu và muốn học Python, tôi khuyên bạn nên tham gia khóa học & nbsp; Python cho mọi người Coursera, trong đó bạn sẽ tìm hiểu rất nhiều về Python. Bạn cũng có thể kiểm tra trang & NBSP; Tài nguyên và khóa học của chúng tôi & nbsp; để xem tài nguyên Python tôi đề xuất! Tìm hiểu thêm: Ghi nhật ký vào Python. Logging in Python. Happy Coding ♥ Xem đầy đủ mã Cũng đọcBảng bình luậnTrò chuyện GUI là gì?Đầu ra: Ví dụ 2: Đây là ứng dụng trò chuyện GUI đơn giản (giao diện người dùng đồ họa) trong đó nhiều người dùng có thể kết nối với nhau trong kiến trúc máy khách-máy chủ, tức là máy khách sẽ tương tác với sự trợ giúp của máy chủ.Graphical User Interface) chat application where multiple users can connect with each other in a client-server architecture i.e the clients will interact with the help of the server.
Python lập trình ổ cắm là gì?Ổ cắm và API ổ cắm được sử dụng để gửi tin nhắn trên mạng.Họ cung cấp một hình thức giao tiếp giữa các quá trình (IPC).Mạng có thể là một mạng cục bộ, hợp lý với máy tính hoặc một mạng được kết nối về mặt vật lý với mạng bên ngoài, với các kết nối riêng với các mạng khác.used to send messages across a network. They provide a form of inter-process communication (IPC). The network can be a logical, local network to the computer, or one that's physically connected to an external network, with its own connections to other networks. |